Gir*_*iri 5 python dataframe pandas
我只想加入两个数据帧,其中一列具有相同的值。
我试过熊猫合并功能为:
df1。--> 数据帧 1 数据帧 1
AU01 subject
1 0.45 3
2 0.21 3
3 1.45 3
4 0.78 3
Run Code Online (Sandbox Code Playgroud)
df2。--> 数据框 2 数据框 2
AU02 subject
1 0.44 3
2 0.34 3
3 1.56 3
4 0.78 3
Run Code Online (Sandbox Code Playgroud)
我试过的:
data = pd.merge(df1, df2, how="inner" , on="subject")
Run Code Online (Sandbox Code Playgroud)
得到这样的结果:
但我只想通过合并公共列并保持其他列不变来合并两个数据帧。
我的预期输出是:
AU01 AU02 subject
1 0.45 0.44 3
2 0.21 0.34 3
3 1.45 1.56 3
4 0.78 0.78 3
Run Code Online (Sandbox Code Playgroud)
PS:这里还有其他问题,但没有问题可以帮助我。
你可以这样做:
subjectdf1是否subject与df2 所有行匹配。merge则df1和df2上index。subject列。代码:
In [800]: if df1.subject.isin(df2.subject).all():
...: df = pd.merge(df1,df2,left_index=True, right_index=True).drop('subject_y', 1).rename(columns={'subject_x':'subject'})
...:
In [801]: df
Out[801]:
AU01 subject AU02
1 0.45 3 0.44
2 0.21 3 0.34
3 1.45 3 1.56
4 0.78 3 0.78
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |