使用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/