![](/img/trans.png)
[英]Using the fillna() method from Pandas to replace a particular string value in a column
[英]Pandas replace and fillna if column begins with part of a string
我想知道是否有一种方法可以将 .replace() 和 .fillna() 用于以字符串的一部分开头的列标题。
例如:
data['Q5_A'].fillna(value='Not Applicable', inplace=True)
这只会将 .fillna() 应用于 Q5_A 列。
同样:
data["Q5_S"] = data["Q5_S"].replace(",", "", regex=True)
这只会将 .replace() 应用于 Q5_S 列。
如果我希望它应用于标题中包含“Q5_”的任何列怎么办?
谢谢!
Filter
所需的列,然后替换/填充:
data.assign(**data.filter(like='Q5_').replace(",", "", regex=True))
或者,如果您想就地修改数据框,我们可以这样做:
cols = data.filter(like='Q5_').columns
data[cols] = data[cols].replace(",", "", regex=True)
您也可以执行 for 循环并执行您需要的所有过程。
for header in data.columns:
if "Q5" in header:
data[header].fillna(value='Not Applicable', inplace=True)
data[header] = data[header].replace(",", "", regex=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.