gpt4 book ai didi

python - 如何用 Pandas 替换数据帧的所有行?

转载 作者:行者123 更新时间:2023-12-04 08:48:37 24 4
gpt4 key购买 nike

我正在尝试更换 100NaN在具有 2 列的数据框中,但由于某种原因,它仅替换了第一列的前 3 行。可能是什么原因?
这是我的代码和输出:

print('Before', df, type(df))
df = df.replace(100, np.nan)
print('After', df)

Before A B
2020-09-17 00:00:00+00:00 100.000000 NaN
2020-09-18 00:00:00+00:00 100.000000 NaN
2020-09-18 01:00:00+00:00 100.000000 NaN
2020-09-18 02:00:00+00:00 100.000000 NaN
2020-09-18 03:00:00+00:00 100.000000 NaN
... ... ...
2020-10-03 04:00:00+00:00 99.916528 96.116235
2020-10-03 05:00:00+00:00 99.933531 95.525355
2020-10-03 06:00:00+00:00 99.942923 95.756569
2020-10-03 07:00:00+00:00 99.940998 95.721852
2020-10-03 08:00:00+00:00 99.941141 95.099550

[370 rows x 2 columns]
<class 'pandas.core.frame.DataFrame'>
After A B
2020-09-17 00:00:00+00:00 NaN NaN
2020-09-18 00:00:00+00:00 NaN NaN
2020-09-18 01:00:00+00:00 NaN NaN
2020-09-18 02:00:00+00:00 100.000000 NaN
2020-09-18 03:00:00+00:00 100.000000 NaN
... ... ...
2020-10-03 04:00:00+00:00 99.916528 96.116235
2020-10-03 05:00:00+00:00 99.933531 95.525355
2020-10-03 06:00:00+00:00 99.942923 95.756569
2020-10-03 07:00:00+00:00 99.940998 95.721852
2020-10-03 08:00:00+00:00 99.941141 95.099550
当我打印 df['A']它说 dtype 是 float64所以我不知道如何解决这个问题。并且遍历列也不会给出预期的结果。
for col in df:
df[col] = df[col].replace(100, np.nan)

最佳答案

非替换值当然是那些不是 的值。正好 100。
Pandas 对浮点数的默认表示是小数点后 6 位。尝试扩展它(例如扩展到 20 位数字):

pd.set_option("display.float_format", "{:.20f}".format)
在显示您的数据框以查看那些不准确的值之前。

关于python - 如何用 Pandas 替换数据帧的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64182847/

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