3

別の列で条件が満たされた場合、特定の列に NA 値を入力して、この単一クラスの NA 値のみを代入/置換値に置き換えたいと考えています。

たとえば、実行したい:if column1 = 'value1' AND column2 = N.A fillna_in_column2 with value 'replacementvalue'

パンダでこれを達成するにはどうすればよいですか?

dataframe[dataframe['firstColumn'] == 'value1'].fillna({'column2':'replacementValue'}レコード全体の長さが変更されるため、経由でこれを実行しようとしても機能しません。これまでのところ、インプレース変更を機能させることができませんでした。

4

2 に答える 2

4
df.loc[(df['col1']==val1) & (df['col2'].isnull()), 'col2'] = replacement_value
于 2016-08-29T11:37:40.233 に答える
1

これを試すことができます:

cond1 = df['column1'] == value1
cond2 = np.isnan(df['column2'])

df['column2'][cond1 & cond2] = replacement_value
于 2016-08-29T11:32:04.487 に答える