1. ホーム
  2. python

[解決済み] Python Pandasは1列目のNaNを2列目の対応する行の値で置き換えます。

2022-05-11 02:17:33

質問

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

の中のNaNをすべて置き換える必要があります。 Temp_Rating カラムの値を Farheit カラムの値です。

これは私が必要とするものです。

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

ブール選択を行うと、一度にこれらの列のうちの1つだけを取り出すことができます。問題は、それらを結合しようとした場合、正しい順序を維持しながらこれを行うことができないことです。

どのようにすれば Temp_Rating の行を見つけることができます。 NaN の同じ行の値で置き換えます。 Farheit 列の値に置き換えるのですか?

どのように解決するには?

DataFrameが df :

df.Temp_Rating.fillna(df.Farheit, inplace=True)
del df['Farheit']
df.columns = 'File heat Observations'.split()

まず NaN の値を、対応する df.Farheit . を削除します。 'Farheit' のカラムを削除してください。次に、列の名前を変更します。以下は、出来上がった DataFrame :

<イグ