【发布时间】:2019-10-15 14:56:38
【问题描述】:
我有一个包含 3 列的 DF,我想执行布尔检查。代码如下所示。
import pandas as pd
df = pd.DataFrame({
'Col1':[A,A,A,B,B,C,C,C],
'Col2':[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],[1, 2, 3, 4, 5],[1, 2, 3, 4, 5], [1, 2, 3, 4, 5,6,7] ,[1, 2, 3, 4, 5,6,7],[1, 2, 3, 4, 5,6,7] ]
'Col3': [[1, 2, 3, 4],[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],[1, 2, 3, 4, 5, 6, 7, 8, 9],[1, 2, 3, 4, 5],[1, 2, 3], [1, 2, 3, 4, 5,6,7] ,[1, 2, 3],[1, 2, 3, 4] ]
})
我想要一个 DF,它为我提供 Col1 的唯一值,如果 Col2、Col3 的一行相等,则打印 True,否则打印 False。我想看到的结果是:
'Col1' 'Col2' 'Col3' 'Col4'
A [1,2,3,4,5,6,7,8,9,10,11,12] [1,2,3,4] False
print(map(type, df['Col2']) == map(type,df['Col3']))
这返回值 true,但我希望它作为 df 中的新列 Col4
对于我尝试的多个代码,我总是发现错误为unhashable type: 'list'
【问题讨论】:
-
df['Col4'] = df['Col2'] == df['Col3']?
标签: pandas list function dataframe set