pandas 通过取消第一列的嵌套列表填充 Dataframe

uemypmqf  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(144)

我有以下问题与csv在Pandas的数据看起来如下:

Column A :row1: [« a », « b »; « c »
Row2 : [« d »; « e », « f »

等等...请注意不同的分隔符。
我希望它根据列表中的单元键填充下一列,如下所示:

ColA row 1: [a] col b:[b] colc[c]
   Row 2: [d] col b:[e] colc:[f]

以此类推,对于单元格中的所有值,我希望它填充到它所在行的每一列。
我希望能从你那里得到一些见解,
谢谢
到目前为止我还在挣扎
我不能共享数据,但基本上我有列A中的每一行都包含一个列表csv,像分隔符,我想在这个单元格的列表中为n个值填充下一列中的n个行。我想我需要根据多个分隔符剥离数据,并将它们视为一个分隔符(就像你在Excel中做的那样),然后为每一行创建一个函数,附加第一个单元格列表的每个值?但是我不知道如何创建这个...
单元格中的列表中的每个键都应该转到下一列中的下一行(水平),对于数据集中的每一行,我想取消这些字符串的嵌套

c3frrgcw

c3frrgcw1#

我不确定我是否理解您的I/O,但您可以尝试以下操作:

import pandas as pd

df= (
        pd.read_csv("test.txt", sep="[;,]", engine="python",
                    header=None, skiprows=1)
            .astype(str).apply(lambda x: x.str.strip("« »"))
    )

# convert the numeric index columns to alphabetic letters
df.columns= (
                df.columns.astype(str)
                    .str.replace(r"(\d)", 
                                 lambda m: "Col" + chr(ord('@')+ int(float(m.group(0)))+1),
                                 regex=True)
            )
#输出:
print(df)

  ColA ColB ColC
0    a    b    c
1    d    e    f

使用的##### # .txt文件:

相关问题