如何跟据一个dataframe的列索引取出另一个dataframe中含有相同索引的列组成新的dataframe
时间: 2023-09-25 19:15:32 浏览: 51
可以使用pandas的join函数,将两个dataframe按照相同的列索引进行合并,如下:
```
new_df = df1.join(df2[df1.columns])
```
其中,df1是需要取出某些列的dataframe,df2是另一个dataframe,[df1.columns]表示取df2中和df1列名相同的列。合并后的新dataframe即为new_df。
相关问题
对于两个有着相同列索引的DataFrame,把其中一个DataFrame的列索引对齐另一个
可以`DataFrame.reindex()`方法来对齐两个DataFrame的列索引。该方法会返回一个新的,其中列的顺序和索引与入的参数一致。某个索引在始DataFrame中不存在,则会以NaN填充。
以下是一个示例代码:
```python
import pandas as pd
# 创建两个示例DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'B': [7, 8, 9], 'C': [10, 11, 12]})
# 对齐df2的列索引到df1
df2_aligned = df2.reindex(columns=df1.columns)
print(df1)
print(df2_aligned)
```
输出结果为:
```
A B
0 1 4
1 2 5
2 3 6
A B
0 NaN 7
1 NaN 8
2 NaN 9
```
在上述示例中,我们使用`reindex()`方法将df2的列索引对齐到df1,生成了一个新的DataFrame df2_aligned。可以观察到,df2_aligned的列索引与df1完全一致,且缺失的列以NaN填充。
dataframe 列索引
DataFrame列索引是指DataFrame中的列标签,它用于访问DataFrame中的列。可以通过dataframe.columns属性来访问列索引,该属性返回一个Index对象,其中包含了所有列的标签。例如,假设有一个名为df的DataFrame,可以使用以下代码访问列索引:
```
# 创建DataFrame
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'], 'Age': [28, 34, 29, 42], 'Country': ['US', 'UK', 'CA', 'US']}
df = pd.DataFrame(data)
# 访问列索引
print(df.columns)
```
输出结果为:
```
Index(['Name', 'Age', 'Country'], dtype='object')
```
可以使用列索引来选择DataFrame中的列,例如:
```
# 使用列索引选择列
print(df['Name'])
```
输出结果为:
```
0 Tom
1 Jack
2 Steve
3 Ricky
Name: Name, dtype: object
```
阅读全文