gpt4 book ai didi

python - df.fillna 或 df.replace 没有消除我的 .csv 文件中的 NaN

转载 作者:行者123 更新时间:2023-12-01 06:32:47 25 4
gpt4 key购买 nike

我知道这里有很多类似的问题。但似乎没有一个答案对我有用。请注意,我是一名初学者程序员,只是通过 Youtube 教程才学到这一点。请注意,我使用的是 Mac 操作系统和 PyCharm

我的程序下载this .csv通过我在 Youtube 上找到的这段代码进行文件

def download_data(csv_url):
response = request.urlopen(csv_url)
csv = response.read()
csv_str = str(csv)
lines = csv_str.split ("\\n")
dest_url = r'NO_AM1H.csv'
fx = open(dest_url,"w")
for line in lines:
fx.write (line + "\n")
fx.close()

然后我读取 .csv 并设置分隔符。 .csv 中的许多值都 <7 或为空 (NaN)。我尝试替换它们,如图所示,但是当我打印数据帧(df)时,它仍然显示 NaN 和 <7

df = pd.read_csv('NO_AM1H.csv',delimiter=';')
df = df.replace(np.nan,0)
df = df.replace('<7',0)

print(df.tail(4))

任何帮助将不胜感激,并对任何菜鸟错误表示歉意。谢谢

最佳答案

您可以做的快速修复是在读取 csv 时标记可能的 NA 值,如下所示:

方法一:

df = pd.read_csv('NO_AM1H.csv',delimiter=';', na_values=['<7', 'NaN','nan', None])

# then fill the NAs
df = df.fillna(0)

方法2:

df = df.applymap(lambda x: None if x == '<7' else x)

替换 pandas 中的 float NA 的解决方法是:

df = df.applymap(lambda x: 0 if str(x) == 'nan' else x)

关于python - df.fillna 或 df.replace 没有消除我的 .csv 文件中的 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59813237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com