动态在pandas数据框中添加列

Ish*_*att 5 python dataframe pandas

我有以下代码来加载数据框

import pandas as pd

ufo = pd.read_csv('csv_path')
print ufo.loc[[0,1,2] , :]
Run Code Online (Sandbox Code Playgroud)

给出以下输出,请参阅csv的结构

          City Colors Reported Shape Reported State             Time
0       Ithaca             NaN       TRIANGLE    NY   6/1/1930 22:00
1  Willingboro             NaN          OTHER    NJ  6/30/1930 20:00
2      Holyoke             NaN           OVAL    CO  2/15/1931 14:00
Run Code Online (Sandbox Code Playgroud)

现在,我想基于现有列添加一个额外的列。我有一个包含参与列索引的列表。它可以是0,10,2,31,2,3任何东西。

我需要动态创建它。我可以提出以下

df1['combined'] = df1['City']+','+df1['State']
Run Code Online (Sandbox Code Playgroud)

放置索引似乎无效。我想加入这些专栏。使用','.join()

Psi*_*dom 3

假设您想要的所有列的数据类型join都是str,您可以使用[]integer 来选取列并使用apply它们来连接它们:

df[[0,2,3]].apply(','.join, axis=1)

#0      Ithaca,TRIANGLE,NY
#1    Willingboro,OTHER,NJ
#2         Holyoke,OVAL,CO
#dtype: object
Run Code Online (Sandbox Code Playgroud)