gpt4 book ai didi

python - Pandas 需要将 0.0 float 转换为空字符串,而不弄乱 Pandas 中的其他数字

转载 作者:行者123 更新时间:2023-12-01 09:10:05 26 4
gpt4 key购买 nike

我正在从 API 中提取数据并使用 Pandas 进行计算和转换。

这些计算创建了小数点后第二位的 float 。 0.03、0.04、0.0 等

然后,我将这些数据存储到 BigQuery 中并在 Google Data Studio(GDS) 中进行可视化。问题是 Data Studio 无法处理 0 数字的除法。所以我需要从我的系列中删除 0.0。我想到的方法是转换为字符串,删除 0.0 并将其设为空,例如 .str.replace('0.0', '')

但是当我删除 0.0 时,我也删除了所有其他小数的前导。当我对系列执行 .round(decimals=3) 时,0.0 只是保持为 0.0,所以我无法删除 0.00。

关于如何获取这一系列数字并将任何 0.0 转换为空,有什么想法吗?

示例

#In my dataframe I have something like Quantities
df = pd.DataFrame({'Store': ['X', 'Y', 'Z', 'A', 'B'],
'Quantities': ['0.0', '0.034', '0.402', '1.0', '0.0']})

#I want to remove 0.0 and make it blank, but keep 0.034 etc
df = pd.DataFrame({'Store': ['X', 'Y', 'Z'],
'Quantities': ['', '0.034', '0.402', '1.0', '']})

最佳答案

使用掩码:

df = pd.DataFrame({'Store': ['X', 'Y', 'Z', 'A', 'B'],
'Quantities': ['0.0', '0.034', '0.402', '1.0', '0.0']})

df['Quantities'] = df['Quantities'].mask(df['Quantities']=='0.0', '')
print(df)

输出:

  Store Quantities
0 X
1 Y 0.034
2 Z 0.402
3 A 1.0
4 B

关于python - Pandas 需要将 0.0 float 转换为空字符串,而不弄乱 Pandas 中的其他数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734500/

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