Lev*_*ich 2 python concatenation dataframe python-3.x pandas
我有两个任意形状的 DataFrame:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 NaN
3 A3 NaN NaN
4 A4 NaN NaN
Run Code Online (Sandbox Code Playgroud)
和
A B C
2 NaN NaN C2
3 NaN B3 C3
4 NaN B4 C4
5 A5 B5 C5
6 A6 B6 C6
Run Code Online (Sandbox Code Playgroud)
两个 DataFrame 具有重叠索引。在有重叠的地方,对于给定的列,NaN一个 DataFrame 中有一个非,而另一个 DataFrame 中有一个NaN。我如何连接这些,以便我可以实现具有所有值且没有NaNs的 DataFrame :
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
4 A4 B4 C4
5 A5 B5 C5
6 A6 B6 C6
Run Code Online (Sandbox Code Playgroud)
我提出的解决方案是:
df3 = pd.concat([pd.concat([df1[col].dropna(), df2[col].dropna()]) for col in df1.columns], axis=1)
Run Code Online (Sandbox Code Playgroud)
但是,理想情况下我不会逐列工作。
df = df1.combine_first(df2)
print(df)
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
4 A4 B4 C4
5 A5 B5 C5
6 A6 B6 C6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2371 次 |
| 最近记录: |