首页 > 解决方案 > 熊猫删除前导零

问题描述

我有一个简短的脚本来透视数据。第一列是一个 9 位的 ID 号,通常以零开头,例如000123456

这是脚本:

df = pd.read_csv('source')

new_df = df.pivot_table(index = 'id', columns = df.groupby('id').cumcount().add(1), values = ['prog_id', 'prog_type'], aggfunc='first').sort_index(axis=1,level=1)

new_df.columns = [f'{x}_{y}' for x,y in new_df.columns]

new_df.to_csv('destination')
print(new_df)

尽管使用 id 读取 CSV 000123456,但输出仅包含123456

即使在设置显式 dtype 时,Pandas 也会删除前导零。有没有办法告诉熊猫留下前导零?

标签: pythonpython-3.xpandas

解决方案


根据对原始帖子的评论,将 dtype 设置为字符串:

df = pd.read_csv('source', dtype={'id':np.str})


推荐阅读