簡體   English   中英

根據另一列 Pandas 替換列中的空值

[英]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.applyffillbfill一起使用:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM