Python 如何更改单元格';if语句中的内容是什么?
在这里,我尝试将另一列中有“退休人员”的行中的days_employed列的单元格转换为NaN。事实上,它将整个days_employeed列转换为NaN,而我只希望该行中的特定单元格为NaNPython 如何更改单元格';if语句中的内容是什么?,python,Python,在这里,我尝试将另一列中有“退休人员”的行中的days_employed列的单元格转换为NaN。事实上,它将整个days_employeed列转换为NaN,而我只希望该行中的特定单元格为NaN for row in df['income_type']: if row == 'retiree': df['days_employed'] = float('Nan') df['days_employed']=float('Nan')中是否有类似于行的内容?因为我觉得这就像熊
for row in df['income_type']:
if row == 'retiree':
df['days_employed'] = float('Nan')
df['days_employed']=float('Nan')中是否有类似于
行的内容?因为我觉得这就像熊猫一样,您可以通过对整个列应用一个条件,然后将这些单元格分配给Nan来对其进行矢量化:
df.loc[df['income_type'].eq('retiree'), 'days_employed'] = np.nan
或者,使用np重新指定列。wher
:
df['days_employed'] = np.where(
df['income_type'].eq('retiree'), np.nan, df['days_employed'])
当您确实列出[column]时,您指定的是整个列,这就是为什么整个天数被更改为NaN的原因。试试这个,让我知道它是否有效:
for row in df['income_type']:
if row == 'retiree':
df['days_employed'][x] = float('Nan')
注:x是['days\u employed']
中的特定值,应更改为float('Nan')
如果您不知道要更改的单元格的值,或者它经常更改,那么只需使用for循环查找要更改的单元格的索引,然后将x
设置为该索引。我不明白代码在说什么,但它是有效的!万岁!