伙计们,我想在包含5列的数据框中的3ed列之后添加一个空列。 例子
Fname,Lname,city,state,zip
mike,smith,new york,ny,11101
这就是我所拥有的,下面我将展示我想要它的外观。
Fname,Lname,new column,city,state,zip
mike,smith,,new york,ny,11101
我不想用我想要做的数据填充该列,就是在标题中添加额外的列,并且该数据将具有空白列,也就是','。 我已经看到了将新列添加到数据帧末尾但未放置在特定位置的示例。
答案 0 :(得分:3)
您应该使用
df.insert(loc, column, value)
其中loc为索引,列为列名,其值为列值
用于空列
df.insert(loc=2, column='new col', value=['' for i in range(df.shape[0])])
答案 1 :(得分:1)
使用reindex
或列过滤
df = pd.DataFrame(np.arange(50).reshape(10,-1), columns=[*'ABCDE'])
df['z']= np.nan
df[['A','z','B','C','D','E']]
OR
df.reindex(['A','z','B','C','D','E'], axis=1)
输出:
A z B C D E
0 0 NaN 1 2 3 4
1 5 NaN 6 7 8 9
2 10 NaN 11 12 13 14
3 15 NaN 16 17 18 19
4 20 NaN 21 22 23 24
5 25 NaN 26 27 28 29
6 30 NaN 31 32 33 34
7 35 NaN 36 37 38 39
8 40 NaN 41 42 43 44
9 45 NaN 46 47 48 49
答案 2 :(得分:0)
您可以简单地df.insert()
import pandas as pd
data = {'Fname': ['mike'],
'Lname': ['smith'],
'city': ['new york'],
'state': ['ny'],
'zip': [11101]}
df = pd.DataFrame(data)
df.insert(1, "Address", '', True)
print(df)
输出:
Fname Address Lname city state zip
0 mike smith new york ny 11101