所以我有一些CSV文件,但其中一些文件有多个同名的列。
例如,我可以有这样一个csv:
ID Name a a a b b
1 test1 1 NaN NaN "a" NaN
2 test2 NaN 2 NaN "a" NaN
3 test3 2 3 NaN NaN "b"
4 test4 NaN NaN 4 NaN "b"
装进pandasis给我这个:
ID Name a a.1 a.2 b b.1
1 test1 1 NaN NaN "a" NaN
2 test2 NaN 2 NaN "a" NaN
3 test3 2 3 NaN NaN "b"
4 test4 NaN NaN 4 NaN "b"
我想做的是将这些同名列合并成一列(如果有多个值将这些值分开),我的理想输出是
ID Name a b
1 test1 "1" "a"
2 test2 "2" "a"
3 test3 "2;3" "b"
4 test4 "4" "b"
所以想知道这是否可能?
你可以在
groupby
上使用axis=1
,并尝试在这里,您可以使用所需的任何格式化运算符,而不是使用
.astype(str)
。可能使用重复的列名不是一个好主意,但它会起作用:
当然,DSM和CTZhu给出了非常简洁的答案,它们通常利用了Python的许多内置特性,特别是dataframe。这里有点冗长。
这给了我:
相关问题 更多 >
编程相关推荐