Thi*_*our 3 python tuples dataframe pandas
我想创建一个新列,将两列组合在一起。我在互联网上查看但一无所获。我该怎么办:
前任:
A B
50.631456 5.57871
C
(50.631456, 5.57871)
Run Code Online (Sandbox Code Playgroud)
list+zip是一种有效的方法:
df['C'] = list(zip(df.A, df.B))
# A B C
# 0 50.631456 5.57871 (50.631456, 5.57871)
Run Code Online (Sandbox Code Playgroud)
表现
正如预期的那样,df.apply对于大型数据帧,方法是循环且低效的,尤其是与lambda.
df = pd.concat([df]*10000)
%timeit list(zip(df.A, df.B)) # 3.14ms
%timeit df.apply(tuple, axis=1) # 378ms
%timeit df.apply(lambda x: (x.A,x.B), axis=1) # 577ms
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4759 次 |
| 最近记录: |