使用Python3.6,我得到了一个文本阅读器的结果,它给了我这样的重复行:
数据框

         Col 1
    0    Text A1
    1    Text B1
    2    Text C1
    3    Text D1
    4    Text E1
    5    Text A2
    6    Text B2
    7    Text C2
    8    Text D2
    9    Text E2
   10    Text A3
   11    Text B3
   12    Text C3
   13    Text D3
   14    Text E3

-
*新增编辑:以上部分文本为空。
没有逗号我可以做str.split(),我不确定重塑是否正确。这些信息每5个条目重复一次,我试图将它们分为几个列,这样看起来:
     Col1     Col2     Col3     Col4     Col5
0    Text A1  Text B1  Text C1  Text D1  Text E1
1    Text A2  Text B2  Text C2  Text D2  Text E2
2    Text A3  Text B3  Text C3  Text D3  Text E3

什么是蟒蛇式的方式来重塑或分裂成5列不依赖于标点符号的文本?

最佳答案

TBH,如果你知道他们每5次重复一次,我会重塑:

In [36]: pd.DataFrame(df.values.reshape(-1, 5), columns=[f"Col {i}" for i in range(1,6)])
Out[36]:
     Col 1    Col 2    Col 3    Col 4    Col 5
0  Text A1  Text B1  Text C1  Text D1  Text E1
1  Text A2  Text B2  Text C2  Text D2  Text E2
2  Text A3  Text B3  Text C3  Text D3  Text E3

就我个人而言,虽然我很小心丢失的值,所以我可能会对字符串的某些函数进行分组,例如。
pd.concat([v.reset_index(drop=True)
           for _, v in df.groupby(df["Col 1"].str.rstrip(string.digits))], axis=1)

或者别的什么。

关于python - Python 3将单列拆分为多列而没有逗号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51991377/

10-11 16:21