2024-10-01 22:27:42 发布
网友
在这里,我尝试将另一列中有“退休人员”的行中的days_employed列的单元格转换为NaN。事实上,它将整个days_employeed列转换为NaN,而我只希望该行中的特定单元格为NaN
for row in df['income_type']: if row == 'retiree': df['days_employed'] = float('Nan')
有类似于row in df['days_employed'] = float('Nan')的东西吗
row in df['days_employed'] = float('Nan')
因为这在我看来像熊猫,所以您可以通过对整个列应用条件,然后将这些单元格指定给NaN来对其进行矢量化:
df.loc[df['income_type'].eq('retiree'), 'days_employed'] = np.nan
或者,使用np.wher重新指定列:
np.wher
df['days_employed'] = np.where( df['income_type'].eq('retiree'), np.nan, df['days_employed'])
当您确实列出[column]时,您指定的是整个列,这就是为什么整个days_employed被更改为NaN的原因。试试这个,让我知道它是否有效:
days_employed
for row in df['income_type']: if row == 'retiree': df['days_employed'][x] = float('Nan')
注:x是['days_employed']中应更改为float('Nan')的特定值
['days_employed']
float('Nan')
如果您不知道要更改的单元格的值,或者它经常更改,则只需使用for循环查找要更改的单元格的索引,并将x设置为该索引
x
因为这在我看来像熊猫,所以您可以通过对整个列应用条件,然后将这些单元格指定给NaN来对其进行矢量化:
或者,使用
np.wher
重新指定列:当您确实列出[column]时,您指定的是整个列,这就是为什么整个
days_employed
被更改为NaN的原因。试试这个,让我知道它是否有效:注:x是
['days_employed']
中应更改为float('Nan')
的特定值如果您不知道要更改的单元格的值,或者它经常更改,则只需使用for循环查找要更改的单元格的索引,并将
x
设置为该索引相关问题 更多 >
编程相关推荐