python-3.x - 在熊猫数据框中将列拆分为具有不同长度的多列
问题描述
我想根据长度将熊猫数据框中的一列拆分为多列。我有一个 csv 文件,它告诉我需要拆分多少列以及每列的长度。当我想进行拆分时,我需要参考这个文件。
csv文件内容
col |length
id |2
name|5
desc|6
示例输入
value
0 01applefruits
1 02pearsfruits
2 03peachfruits
输出 = id - 长度为 2,名称 - 长度为 5,desc - 长度为 6
id name desc
0 01 apple fruits
1 02 pears fruits
2 03 peach fruits
以上只是一个示例。我如何能够拥有一个通用代码,可以将一列拆分为熊猫数据框中的多列?
任何帮助表示赞赏。谢谢!
解决方案
read_fwf
与widths
参数一起使用。
假设文件格式如下:
>>> %cat 'format.csv'
col,length
id,2
name,5
desc,6
>>> %cat 'data.csv'
value
01applefruits
02pearsfruits
03peachfruits
fmt = pd.read_csv('format.csv')
df = pd.read_fwf('data.csv', skiprows=1, header=None,
names=fmt['col'].tolist(),
widths=fmt['length'].tolist())
>>> df
id name desc
0 1 apple fruits
1 2 pears fruits
2 3 peach fruits
推荐阅读
- datastage - IBM Datastage 假设列是 WVARCHAR 而它是日期
- javascript - Bootstrap 3:如何通过单击当前导航栏内容中的超链接来链接到另一个导航栏?
- python - 斐波那契数列递归法
- ckeditor - 如何理解CKEditor4的“justify”选项?
- python - 使用顶层分类层对 Inception V3 层进行预训练
- c++ - 我们如何使用 AWS SDK C++ 在 cloudwatch 中查询已经创建的“LogGroup”和“StreamName”?
- openflow - Ryu 控制器 - simple_switch_13_stp 在失败后不重新计算树?
- c - 将 RGB 的值限制为 255
- python - 如何在python中使用条件执行矩阵乘法?
- haproxy - HAProxy 将请求从 HAProxy 负载均衡器重定向到另一个负载均衡器