我必須在 Python 中組合一些資料框。我嘗試使用 concat 操作將它們組合起來,但我得到的是 NaN 值,因為每個資料幀都有不同的行大小。例如:
DATAFRAME 1:
col1
0 1
DATAFRAME 2:
col2
0 5
DATAFRAME 3:
col3
0 7
1 8
2 9
COMBINED DATAFRAME:
col1 col2 col3
0 1.0 5.0 7
1 NaN NaN 8
2 NaN NaN 9
在此示例中,資料幀 1 和資料幀 2 只有 1 行。但是,資料框 3 有 3 行。當我組合這 3 個資料幀時,我得到新資料幀中 col1 和 col2 列的 NaN 值。我想獲得一個資料框,其中 col1 和 col2 的值始終相同。在這種情況下,預期的資料框將如下所示:
EXPECTED DATAFRAME:
col1 col2 col3
0 1 5 7
1 1 5 8
2 1 5 9
任何想法?提前致謝
uj5u.com熱心網友回復:
使用concat和ffill:
df = pd.concat([df1, df2, df3], axis=1).fill()
uj5u.com熱心網友回復:
您可以ffill()在合并的資料框中使用前一個值填充空白:
df.ffill()
col1 col2 col3
0 1 5 7
1 1 5 8
2 1 5 9
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505748.html
上一篇:將PandasDataFrame快速轉換為key->row表示
下一篇:Pandas長格式成功表
