Pandas - 包含行子集的 fillna
Pandas - fillna with subset of rows
我正在尝试在特定条件适用的情况下用 0 填充某些行。我正在尝试:
df.loc[:,(df.Available == True) & (df.Intensity.isnull())].Intensity = df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity.fillna(0, inplace=True)
公元前IndexingError: Unalignable boolean Series key provided
这行不通,但是当我尝试
df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity = df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity.fillna(0, inplace=True)
注册为更新副本。我怎样才能做到这一点?谢谢!
IIUC:
df.query('Available == True')['Intensity'].fillna(0)
为了便于阅读,我将其分为几行
a = df.Available == True
b = df.Intensity.isnull()
df.loc[(a & b), 'Intensity'] = 0
但是,这也应该有效
a = df.Available == True
b = df.Intensity.isnull()
df.Intesity *= (a & b)
如果您已经在处理 Intensity 为空的行,我认为您甚至不需要 fillna
。
df.loc[(df.Available) & (df.Intensity.isnull()), 'Intensity'] = 0
或者你可以这样做
df.loc[df.Available, 'Intensity'] = df.loc[df.Available, 'Intensity'].fillna(0)
我正在尝试在特定条件适用的情况下用 0 填充某些行。我正在尝试:
df.loc[:,(df.Available == True) & (df.Intensity.isnull())].Intensity = df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity.fillna(0, inplace=True)
公元前IndexingError: Unalignable boolean Series key provided
这行不通,但是当我尝试
df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity = df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity.fillna(0, inplace=True)
注册为更新副本。我怎样才能做到这一点?谢谢!
IIUC:
df.query('Available == True')['Intensity'].fillna(0)
为了便于阅读,我将其分为几行
a = df.Available == True
b = df.Intensity.isnull()
df.loc[(a & b), 'Intensity'] = 0
但是,这也应该有效
a = df.Available == True
b = df.Intensity.isnull()
df.Intesity *= (a & b)
如果您已经在处理 Intensity 为空的行,我认为您甚至不需要 fillna
。
df.loc[(df.Available) & (df.Intensity.isnull()), 'Intensity'] = 0
或者你可以这样做
df.loc[df.Available, 'Intensity'] = df.loc[df.Available, 'Intensity'].fillna(0)