[英]Replace the empty values in column based on another column Pandas
我有一個這樣的數據框:
公司 | 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 |
我們可以將GroupBy.apply
與ffill
和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())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.