繁体   English   中英

替换值数据框python

[英]Replace values dataframe python

我想替换数据框中满足条件的一些值。 我试图编写代码,但似乎没有用

dfa = df.copy()

for value in df['Clean Company Name']:
    if value=="NaN":
        dfa['Clean Company Name'].replace(df['Company Name'])


dfa.head()

如您所见,NaN值未替换为“公司名称”

我如何获得那个结果?

如果需要替换NaN值,则需要功能combine_firstfillna

df['Clean Company Name'].combine_first(df['Company Name'])

要么:

df['Clean Company Name'].fillna(df['Company Name'])

样品:

df = pd.DataFrame({'Company Name':['s','d','f'], 'Clean Company Name': [np.nan, 'r', 't']})
print (df)
  Clean Company Name Company Name
0                NaN            s
1                  r            d
2                  t            f

#if need check NaNs
print (df['Clean Company Name'].isnull())
0     True
1    False
2    False
Name: Clean Company Name, dtype: bool


df['Clean Company Name'] = df['Clean Company Name'].combine_first(df['Company Name'])
print (df)
  Clean Company Name Company Name
0                  s            s
1                  r            d
2                  t            f

有关丢失数据的更多信息

编辑:

loc条件替换数据,可以将locboolean mask一起使用:

print (df['Company Name'] == 'd')
0    False
1     True
2    False
Name: Company Name, dtype: bool

df.loc[df['Company Name'] == 'd', 'Clean Company Name'] = 'sss'
print (df)
  Clean Company Name Company Name
0                NaN            s
1                sss            d
2                  t            f

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM