我有一个包含 5 列的 txt 文件,我需要将第 1、2、3 列合并在一起;和 4 和 5. 合并的项目应该用 : 分隔。我是编码新手,所以将不胜感激任何帮助 像这样
a1 111111 333333 A D
b1 222222 444444 B E
c1 333333 555555 C F
a1:111111:333333 A:D
b1:222222:444444 B:E
c1:333333:555555 C:F
我想它可以用熊猫来完成,但问题是我的文件中的列没有标题
谢谢!
答案 0 :(得分:0)
在Pandas 中,DataFrame 必须具有列名。 假设您的源 DataFrame(带有列名)包含:
C1 C2 C3 C4 C5
0 a1 111111 333333 A D
1 b1 222222 444444 B E
2 c1 333333 555555 C F
要生成预期结果,您可以例如:
定义一个应用于每一行的函数:
def newRec(row):
return pd.Series([f'{row.C1}:{row.C2}:{row.C3}', f'{row.C4}:{row.C5}'],
index=['C1', 'C2'])
请注意,使用 f-string 并嵌入对个人的引用 列允许您不关心每列的类型。
应用此功能:
result = df.apply(newRec, axis=1)
结果是:
C1 C2
0 a1:111111:333333 A:D
1 b1:222222:444444 B:E
2 c1:333333:555555 C:F