用 NaN 替换 'UN' 表示的值
Posted
技术标签:
【中文标题】用 NaN 替换 \'UN\' 表示的值【英文标题】:Replacing values represented by 'UN' with NaN用 NaN 替换 'UN' 表示的值 【发布时间】:2018-11-26 19:43:40 【问题描述】:我在练习导入和汇总数据时遇到了这个问题。请帮忙?
图像似乎没有显示任何错误,但我不知道如何解决“联合国”和 np.nan 问题
# Names of the columns we're searching for missing values
columns = ['median', 'p25th', 'p75th']
# take a look at the dtypes
print(recent_grads[columns].dtypes)
# find how missing values are represented
print(recent_grads['median'].unique())
# replace missing values with NaN
for column in columns:
recent_grads.loc[recent_grads['median'] == 'UN', column] = np.nan
最终输出:
【问题讨论】:
欢迎来到 Stack Overflow!请不要使用图像来传达文字信息。 Edit 你的问题用相应的代码替换它们。此外,寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有这个,你的问题是题外话,很可能被关闭。请构造一个Minimal, Complete, and Verifiable example 并包含它。 您有什么问题/疑问? 我们不是来帮你做作业或回答你的测试的。请自己做。 【参考方案1】:在读取 csv 时,使用参数“na_values”。 pd.read_csv('', na_values = 'UN')
【讨论】:
【参考方案2】:您似乎需要导入 numpy 并使用 nan 以他们希望的方式解决该问题。 'nan' 是 'not a number' 的缩写,是他们希望您用来表示缺少值的内容。
import numpy as np
# ... your code up to the last bit ...
for value in recent_grads['median'].unique():
if value == 'UN':
value = np.nan
【讨论】:
这只是改变循环内的变量value
,并没有修改DataFrame
完全正确.. 使用.at
索引df 的特定位置以上是关于用 NaN 替换 'UN' 表示的值的主要内容,如果未能解决你的问题,请参考以下文章