Pandas 如何将一行整数附加到一个列表中,并跨越多个列

Pandas 如何将一行整数附加到一个列表中,并跨越多个列,pandas,python-3.6,Pandas,Python 3.6,假设我有以下数据帧 col_1 col_2 0 1 2 1 3 4 我想创建第三列,是整数列表 我尝试了几种混乱的方法,将值转换为字符串,连接起来,然后将其转换为如下所示的整数列表: df['col_3'] = df[['col_1', 'col_2']].apply(lambda x: ','.join(str(x)), axis=1) 但它是超级混乱和超慢,并没有返回我所寻找的。有更好的方法吗?一个选项是使用: 另一个选项是使用

假设我有以下数据帧

    col_1    col_2
0    1        2   
1    3        4
我想创建第三列,是整数列表

我尝试了几种混乱的方法,将值转换为字符串,连接起来,然后将其转换为如下所示的整数列表:

df['col_3'] = df[['col_1', 'col_2']].apply(lambda x: ','.join(str(x)), axis=1)
但它是超级混乱和超慢,并没有返回我所寻找的。有更好的方法吗?

一个选项是使用:

另一个选项是使用zip函数:

df['col_3'] = list(zip(df.col_1,df.col_2))
一种选择是使用:

另一个选项是使用zip函数:

df['col_3'] = list(zip(df.col_1,df.col_2))
与分裂

df['col3'] = df.to_dict('split')['data']
选择列

df['col3'] = df[['col1','col2']].to_dict('split')['data']
或与

我们还可以使用:

输出

   col_1  col_2    col3
0      1      2  [1, 2]
1      3      4  [3, 4]
与分裂

df['col3'] = df.to_dict('split')['data']
选择列

df['col3'] = df[['col1','col2']].to_dict('split')['data']
或与

我们还可以使用:

输出

   col_1  col_2    col3
0      1      2  [1, 2]
1      3      4  [3, 4]

df['col_3']=list(zip(df.col_1,df.col_2))df['col_3']=list(zip(df.col_1,df.col_2)),但是如果我有一个
col_4
我不想附加到
col_3
中的列表中怎么办?如果你只想要第1列和第2列,你可以选择它。请,检查解决方案我已经更新了它,但是如果我有一个
col_4
我不想添加到
col_3
中的列表,该怎么办?如果你只需要第1列和第2列,你可以选择它。请检查解决方案我已经更新了它。我认为
列表(zip(df.col_1,df.col_2))
更快,但问题是如果我们有更多的columnshmm,我们该怎么办。在这种情况下,我会遵从您的解决方案。我认为
list(zip(df.col_1,df.col_2))
更快,但问题是如果我们有更多的columnshmm,我们会怎么做。在那种情况下,我将听从你的解决办法。