我正尝试在包含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
我不想用数据填充该列,我想做的就是在标题中添加额外的列,该数据将具有空列,即',,‘。我见过这样的例子:将新列添加到数据帧的末尾,而不是在特定的位置。
发布于 2019-05-03 01:49:39
你应该使用
df.insert(loc, column, value)
使用loc作为索引,使用column作为列名和值
对于空列
df.insert(loc=2, column='new col', value=['' for i in range(df.shape[0])])
发布于 2019-05-03 01:48:50
使用reindex
或列筛选
df = pd.DataFrame(np.arange(50).reshape(10,-1), columns=[*'ABCDE'])
df['z']= np.nan
df[['A','z','B','C','D','E']]
或
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
发布于 2019-05-03 02:03:13
您可以简单地使用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
https://stackoverflow.com/questions/55957634
复制相似问题