在Pandas中,使用pivot_table
方法后,要保留小数位数,您可以在创建透视表后使用round
方法,或者在将DataFrame保存到CSV文件时指定float_format
参数。下面是两种方法的示例:
方法1:使用round
方法
python
import pandas as pd
# 假设cv_result是您的DataFrame
cv_result_pivot = cv_result.pivot_table(index=['年份'], columns='离散系数分级', values='当年平均持股比例', aggfunc='sum', fill_value=0)
# 四舍五入到2位小数
cv_result_pivot_rounded = cv_result_pivot.round(2)
# 保存到CSV文件
cv_result_pivot_rounded.to_csv('cv_result_pivot.csv')
方法2:使用float_format
参数
python
import pandas as pd
# 假设cv_result是您的DataFrame
cv_result_pivot = cv_result.pivot_table(index=['年份'], columns='离散系数分级', values='当年平均持股比例', aggfunc='sum', fill_value=0)
# 保存到CSV文件,并指定float_format参数以保留2位小数
cv_result_pivot.to_csv('cv_result_pivot.csv', float_format='%.2f')
在这两种方法中,选择哪一种取决于您的具体需求。如果您需要在DataFrame中保留这些小数位数,或者需要进行进一步的数据处理,使用round
方法可能更合适。如果您只是想要在输出到CSV文件时保留小数位数,那么使用float_format
参数可能更方便。