python - 熊猫删除前导零
问题描述
我有一个简短的脚本来透视数据。第一列是一个 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 也会删除前导零。有没有办法告诉熊猫留下前导零?
解决方案
根据对原始帖子的评论,将 dtype 设置为字符串:
df = pd.read_csv('source', dtype={'id':np.str})
推荐阅读
- c - C中的二进制搜索代码无法正常工作
- java - 使用地图作为 responseContainer 的 @ApiResponse 上的 Swagger API 文档不起作用
- android - 带有架构导航组件的底部导航片段的动画
- r - R - f_num,但带逗号
- c++ - 如何在 C++ 中检查模板类中的类型?
- google-cloud-platform - 将 gcloud sql 备份恢复到另一个实例会引发 400 错误
- python - 在纸牌游戏中需要有关此功能的建议
- flutter - 我的 Flutter 网页的滚动正文出现问题
- r - 我将此数据集导入到 RStudio,但它为 NULL
- python - Python:Spacy NER 和内存消耗