Ham*_*ait 4 python concat dataframe pandas
我有三个要连接的数据框,但是它们都有不同的索引。所有三个索引具有相同的长度。我的第一个df如下所示:
Index Time_start Time_end duration value
0 5 10 5 1.0
1 10 16 6 NaN
...
39 50 53 3 NaN
Run Code Online (Sandbox Code Playgroud)
第二个df如下所示:
Index Time_start Time_end duration value
40 5 10 5 2.0
42 10 16 6 NaN
...
79 50 53 3 NaN
Run Code Online (Sandbox Code Playgroud)
第三个看起来完全相同,但是Index = [80..119],但是time_start,Time_end和duration完全相同。价值各不相同。
我想连接值列,使它看起来像这样
Index Time_start Time_end duration value1 value2 value3
1 5 10 5 1.0 2 3
2 10 16 6 NaN NaN NaN
...
39 50 53 3 NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试过
pd.concat([df1, df2.value, ms3.value], axis=1, join_axes = [df1.index])
Run Code Online (Sandbox Code Playgroud)
但是索引不一样,因此无法正常工作。我知道我可以先尝试
df2.reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)
然后执行concat,该方法有效,但是我敢肯定有更好的方法。
dfs = [df1, df2]
cols = ['Time_start', 'Time_end', 'duration']
keys = ['value1', 'value2']
pd.concat(
[df.set_index(cols).value for df in dfs],
axis=1, keys=keys)
value1 value2
Time_start Time_end duration
5 10 5 1.0 2.0
10 16 6 NaN NaN
50 53 3 NaN NaN
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5094 次 |
最近记录: |