晚上好,
我有一個這樣的資料框:
| 公司 | TDS | 變頻調速 | 翱翔 |
|---|---|---|---|
| 蒸汽 | 3429.0 | 450 | |
| 蒸汽 | 1365 | ||
| 閃電戰 | 3425.1 | 11 | |
| 閃電戰 | 353.3 | 34 | |
| 特斯拉 | 18 | ||
| 特斯拉 | 2243.3 | 32 | |
| 奧維 | 15 | ||
| 奧維 | 16 |
如果 Corp 值相等,用另一行中的相同值替換列中的空白的最佳方法是什么?結果應該是這樣的:
| 公司 | TDS | 變頻調速 | 翱翔 |
|---|---|---|---|
| 蒸汽 | 3429.0 | 450 | |
| 蒸汽 | 3429.0 | 1365 | |
| 閃電戰 | 3425.1 | 34 | 11 |
| 閃電戰 | 353.3 | 34 | 11 |
| 特斯拉 | 2243.3 | 18 | |
| 特斯拉 | 2243.3 | 32 | |
| 奧維 | 15 | 16 | |
| 奧維 | 15 | 16 |
感謝大家的幫助!
uj5u.com熱心網友回復:
我們可以使用GroupBy.applywithffill和bfill:
df.groupby('Corp').apply(lambda x: x.ffill().bfill())
Corp TDS VVT SOAR
0 Steam 3429.0 450.0 NaN
1 Steam 3429.0 1365.0 NaN
2 Bliz 3425.1 34.0 11.0
3 Bliz 353.3 34.0 11.0
4 Tesla 2243.3 NaN 18.0
5 Tesla 2243.3 NaN 32.0
6 OYV NaN 15.0 16.0
7 OYV NaN 15.0 16.0
如果你有空格:
df.replace(r'^\s*$', np.nan, regex=True)\
.groupby('Corp').apply(lambda x: x.ffill().bfill())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/432190.html
標籤:Python python-3.x 熊猫 数据框
