Python 合并两列并使用pandas库创建新列
要付款吗Python 合并两列并使用pandas库创建新列,python,pandas,Python,Pandas,要付款吗 df = pd.read_csv("school_data.csv") col1 col2 0 [1,2,3] [4,5,6] 1 [0,5,3] [6,2,5] col1和col2值是唯一的, 使用pandas您可以一次对多个列使用apply函数,如下所示: col1 col2 col3 0 [1,2,3] [4,5,6] [1,2,3,4,5,6] 1 [0,5,3] [6,2,5] [0,5
df = pd.read_csv("school_data.csv")
col1 col2
0 [1,2,3] [4,5,6]
1 [0,5,3] [6,2,5]
col1和col2值是唯一的,
使用pandas您可以一次对多个列使用apply函数,如下所示:
col1 col2 col3
0 [1,2,3] [4,5,6] [1,2,3,4,5,6]
1 [0,5,3] [6,2,5] [0,5,3,6,2,5]
为什么不做一个简单的df['col1']
+df['col2']
假设col1
具有list
但在str
类型中。在这种情况下,您始终可以将func
修改为:
def func(x):
return x['col1'] + x['col2']
df['col3'] = df[['col1','col2']].apply(func, axis=1)
最简单的方法是:
def func(x):
return x['col1'][1:-1].split(',') + x['col2']
例如:
df['col3'] = df['col1'] + df['col2']
输出:
import pandas as pd
row1 = [[1,2,3], [4,5,6]]
row2 = [[0,5,3], [6,2,5]]
df = pd.DataFrame(data=[row1, row2], columns=['col1', 'col2'])
df['col3'] = df['col1'] + df['col2']
print(df)
col1 col2 col3
0 [1, 2, 3] [4, 5, 6] [1, 2, 3, 4, 5, 6]
1 [0, 5, 3] [6, 2, 5] [0, 5, 3, 6, 2, 5]