我无法理解为什么数据框中的值在每个单元格中显示两次
最初,我将数据从MySQL下载到pandas dataframe,并将数字格式化为“每月性能”列中的百分比:
data_frame = pd.read_sql(query, con=engine)
data_frame['monthly_perf']=data_frame['monthly_perf'].astype(float).map('{:,.2%}'.format)
我觉得结果不错(以下部分数据):
start_date end_date name monthly_perf
1998-12-31 1999-01-31 TB3MS 0.36%
1999-01-31 1999-02-28 TB3MS 0.38%
1999-02-28 1999-03-31 TB3MS 0.37%
1999-03-31 1999-04-30 TB3MS 0.37%
1999-04-30 1999-05-31 TB3MS 0.38%
1999-05-31 1999-06-30 TB3MS 0.39%
稍后,我将使用data_frame创建数据透视表:
pivot_table = data_frame.pivot_table(values='monthly_perf', index=['end_date',], columns=['name'], aggfunc=np.sum, fill_value=0).reset_index()
结果很奇怪:
start_date end_date TB3MS
1998-12-31 1999-01-31 0.36%0.36%
1999-01-31 1999-02-28 0.38%0.38%
1999-02-28 1999-03-31 0.37%0.37%
1999-03-31 1999-04-30 0.37%0.37%
1999-04-30 1999-05-31 0.38%0.38%
1999-05-31 1999-06-30 0.39%0.39%
由于某种原因,每个数字显示两次。为什么?当我将熊猫数据帧格式化为%时,是否将所有内容都转换为字符串格式
谢谢你的帮助
问题是,若通过
.map('{:,.2%}'.format
将数字转换为字符串,然后使用sum
将它们连接在一起您可以尝试:
因此,首先通过
pivot_table
数字数据进行处理,然后在最后一步添加%
并将其转换为字符串编辑:
但它应该像这样工作:
相关问题 更多 >
编程相关推荐