对pandas数据帧中的两列应用(设置)

2024-09-29 19:29:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个数据帧中有三列。我想让第二和第三列有集合,而不是列表。使用df['column_name_2 and column_name_3'].apply(set)会导致错误,因为据我所知,此函数只接受1个参数。然而,将它们分成两个单独的函数,完全消除了第三列。在

这就是我所拥有的:

    column_1     column_2     column_3
       1         [lk, 18m]    [kjaf]

这就是我想要的:

^{pr2}$

Tags: and数据函数namedf列表参数错误
1条回答
网友
1楼 · 发布于 2024-09-29 19:29:32

我认为需要在嵌套列表中定义列,然后使用sets来定义^{}

df[['column_2', 'column_3']] = df[['column_2', 'column_3']].applymap(set)

或使用循环:

^{pr2}$

样本

df = pd.DataFrame({'column_1': [1, 1], 
                   'column_2': [['lk', '18m'], ['lk', 'r']],
                   'column_3': [['kjaf'], ['ddd']]})

print (df)
   column_1   column_2 column_3
0         1  [lk, 18m]   [kjaf]
1         1    [lk, r]    [ddd]

df[['column_2', 'column_3']] = df[['column_2', 'column_3']].applymap(set)
print (df)
   column_1   column_2 column_3
0         1  {18m, lk}   {kjaf}
1         1    {r, lk}    {ddd}

相关问题 更多 >

    热门问题