我在使用Pandas的Python程序中有两个数据框。 我是熊猫的新手。
每个都有多个列和行 - 第一个类似于:
calc_1 calc_2 calc_3
0 34.3 43.1 42.0
2 3.0 4.0 5.0
3 6.1 6.1 6.2
4 4.2 4.3 4.5
第二个类似于:
gender age
0 M 25
2 M 27
3 M 27
4 F 36
对于每个整数行索引,第二个数据帧中都有对应的条目。我想将它们加入到行索引相等的结果数据框中,例如SQL中的内连接。
我似乎无法理解这一点。将结果追加到我应该拥有的行数的2倍。信息来自CSV。
calc_1 calc_2 calc_3 gender age
0 34.3 43.1 42.0 M 25
2 3.0 4.0 5.0 M 27
3 6.1 6.1 6.2 M 27
4 4.2 4.3 4.5 F 36
我希望在加入时保留列顺序。
编辑:
我似乎无法使用合并,因为整数索引没有名称
pd.merge(df1, df2, on='?????', how='inner')
答案 0 :(得分:4)
使用pd.concat
并传递axis=1
以逐列连接:
In [37]:
pd.concat([df,df1], axis=1)
Out[37]:
calc_1 calc_2 calc_3 gender age
0 34.3 43.1 42.0 M 25
2 3.0 4.0 5.0 M 27
3 6.1 6.1 6.2 M 27
4 4.2 4.3 4.5 F 36
或join
:
In [38]:
df.join(df1)
Out[38]:
calc_1 calc_2 calc_3 gender age
0 34.3 43.1 42.0 M 25
2 3.0 4.0 5.0 M 27
3 6.1 6.1 6.2 M 27
4 4.2 4.3 4.5 F 36
或merge
并设置left_index=True
和right_index=True
:
In [41]:
df.merge(df1, left_index=True, right_index=True)
Out[41]:
calc_1 calc_2 calc_3 gender age
0 34.3 43.1 42.0 M 25
2 3.0 4.0 5.0 M 27
3 6.1 6.1 6.2 M 27
4 4.2 4.3 4.5 F 36