Python Pandas需要将0.0浮点转换为空字符串,而不会弄乱Pandas中的其他数字
我从API中提取数据,并使用Pandas进行计算和转换 这些计算产生了浮点数,我必须保留到小数点后第二位。0.03、0.04、0.0等 然后,我将这些数据存储到BigQuery中,并在GoogleDataStudio(GDS)中可视化。问题是DataStudio无法处理0数字的除法。所以我需要从我的系列中删除0.0。我认为这样做的方式是将其转换为字符串,删除0.0并使其为空,例如.str.replace('0.0','') 但是当我去掉0.0时,我也去掉了所有其他小数的前导。当我对序列进行.round(小数=3)时,0.0只是保持为0.0,所以我不能删除0.00 你有没有想过如何把这一系列的数字转换成空的0.0 范例Python Pandas需要将0.0浮点转换为空字符串,而不会弄乱Pandas中的其他数字,python,pandas,Python,Pandas,我从API中提取数据,并使用Pandas进行计算和转换 这些计算产生了浮点数,我必须保留到小数点后第二位。0.03、0.04、0.0等 然后,我将这些数据存储到BigQuery中,并在GoogleDataStudio(GDS)中可视化。问题是DataStudio无法处理0数字的除法。所以我需要从我的系列中删除0.0。我认为这样做的方式是将其转换为字符串,删除0.0并使其为空,例如.str.replace('0.0','') 但是当我去掉0.0时,我也去掉了所有其他小数的前导。当我对序列进行.ro
#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
你能发布一个示例数据帧和设计输出吗?我想你需要像
df.loc[df.calc.eq(0)]=#做点什么
或者如果你想删除带零的行:df.mask(df.calc.eq(0)).dropna()
我肯定不想删除,我在我的问题中添加了一个例子。试试df.mask(df.eq('0.0'))。fillna('
什么都没做。保持0.0这正是我所需要的!非常感谢你。