带有集合列的简单 DataFrame:
df = pd.DataFrame({'a': [{0,1}, {1,2}, {}], 'b': [{1,2},{2,3,4}, {3}]})
df
a b
0 {0, 1} {1, 2}
1 {1, 2} {2, 3, 4}
2 {} {3}
我想将多个特定的集合列转换为列表列。我正在使用apply,但这不起作用:
df[['a','b']].apply(lambda x: list(x))
a b
0 {0, 1} {1, 2}
1 {1, 2} {2, 3, 4}
2 {} {3}
不过,它适用于单列/系列:
df['a'].apply(lambda x: list(x))
0 [0, 1]
1 [1, 2]
2 []
Name: a, dtype: object
一个不同的函数,在不涉及列表的不同 DataFrame 上,当然可以按预期在多个列上工作:
df2 = pd.DataFrame({'a':[0,1,2], 'b':[3,4,5]})
df2[['a','b']].apply(lambda x: x + 1)
a b
0 1 4
1 2 5
2 3 6
那么,是否有一个单行可以在不遍历列的情况下完成我想要做的事情?
人到中年有点甜
相关分类