gpt4 book ai didi

python - Pandas - 如何提取每行中包含的标题?

转载 作者:行者123 更新时间:2023-12-03 23:47:18 28 4
gpt4 key购买 nike

我是 Pandas 的初学者,我有一个古老格式的大型数据集,我想将其转换为 Pandas 格式。数据如下所示:

    0       1       2       3       4       5         ...
0 ì 8=xx 9=00 35=8 49=YY 56=073 ...
1 8=xx 9=00 35=8 49=YY 56=073 34=10715 ...
2 8=xx 9=00 35=8 49=YY 56=073 34=10716 ...
...

列标题由“=”分隔,左侧为标题,右侧为字段。因此,数据应如下所示:
    8   9   35  49   56     34   ...
0 xx 00 8 YY 073 107 ...
1 xx 00 8 YY 073 107 ...
2 xx 00 8 YY 073 107 ...
...

每行有不同的列数,每行可能会有一些重复,例如, 8=xx 每行可能出现多次。每次发生这种情况时,我都想创建一个新列(例如 8_x、8_y、...)。我试图制定一个 for/iterrows() 循环来遍历每一行,但不确定如何分隔字符串并一次性设置标题。

我试图在网站上寻找类似的问题,但到目前为止没有成功。任何帮助深表感谢!

编辑:添加我用来将初始原始数据解析为第一个表中的格式的代码。
import pandas as pd

df = pd.read_csv('File.dat', sep='\n',nrows = 2, header=None, encoding = "ANSI")
df = df[0].str.split('<SPECIAL CHAR.>', expand=True)

最佳答案

如果原始 .dat 文件是纯文本格式,如其中一条评论所说,它可以轻松转换为 CSV 格式:

  • 在您喜欢的支持正则表达式的文本编辑器中打开 .dat 文件。
  • 复制第一行并删除所有出现的 '=[^,]+' 以创建带有列名称的标题。
  • 从第二行开始,删除所有出现的 '[^,]=' 以保留单元格值。
  • 保存 CSV 文件并在 Python 中使用 pd.read_csv(...) 打开.

  • 这样每次加载 CSV 时,Pandas 都会正确猜测每列中的数据格式。

    关于python - Pandas - 如何提取每行中包含的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61867105/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com