我正在使用Python中的Pandas DataFrame。
File heat Farheit Temp_Rating
1 YesQ 75 N/A
1 NoR 115 N/A
1 YesA 63 N/A
1 NoT 83 41
1 NoY 100 80
1 YesZ 56 12
2 YesQ 111 N/A
2 NoR 60 N/A
2 YesA 19 N/A
2 NoT 106 77
2 NoY 45 21
2 YesZ 40 54
3 YesQ 84 N/A
3 NoR 67 N/A
3 YesA 94 N/A
3 NoT 68 39
3 NoY 63 46
3 YesZ 34 81
我需要用Farheit
列中的值替换Temp_Rating
列中的所有NaN。
这就是我需要的:
File heat Temp_Rating
1 YesQ 75
1 NoR 115
1 YesA 63
1 YesQ 41
1 NoR 80
1 YesA 12
2 YesQ 111
2 NoR 60
2 YesA 19
2 NoT 77
2 NoY 21
2 YesZ 54
3 YesQ 84
3 NoR 67
3 YesA 94
3 NoT 39
3 NoY 46
3 YesZ 81
如果我执行布尔选择,我一次只能选择这些列中的一个。问题是,如果我尝试加入它们,我无法在保持正确顺序的同时做到这一点。
如何只找到NaN
s的Temp_Rating
行,并将它们替换为Farheit
列的同一行中的值?
7条答案
按热度按时间oewdyzsn1#
假设你的DataFrame在
df
中:首先,将任何
NaN
值替换为相应的df.Farheit
值。删除'Farheit'
列。然后重命名列。下面是生成的DataFrame
:pprl5pva2#
上面提到的方法对我不起作用。我使用的方法是:
6yt4nkrj3#
@Jonathan的答案很好,但有点矫枉过正,就用
pop
吧:xqkwcwgp4#
解决这个问题的另一种方法,
返回:
laik7k3q5#
您也可以使用
mask
,它将Temp_Rating
为 NaN 的值替换为列Farheit
:oaxa6hgo6#
接受的答案使用
fillna()
,它将填充两个 Dataframe 共享索引的缺失值。正如here很好地解释的那样,您可以使用combine_first
来填充缺失值、行和索引值,以应对两个 Dataframe 的索引不匹配的情况。pwuypxnk7#
来的很晚,但我遇到了一个类似的问题,这是我如何解决它,似乎对我来说更简洁一点.我希望它适用于每个人在类似的情况下