在指定位置增加一列
原dataframe为:
a | b | |
0 | a1 | b1 |
1 | a2 | b2 |
-
增加列,不指定新列的值:
df = df.reindex(columns=list(['c','a','d','b']))
c | a | d | b | |
0 | NaN | a1 | NaN | b1 |
1 | NaN | a2 | NaN | b2 |
-
增加列的同时指定列的值:
df = df.reindex(columns=list(['c','a','d','b']),fill_value=1)
c | a | d | b | |
0 | 1 | a1 | 1 | b1 |
1 | 1 | a2 | 1 | b2 |
-
试试赋值给个数组,是不是能给不同的列赋不同的值:
df = df.reindex(columns=list(['c','a','d','b']),fill_value=['1','2'])
c | a | d | b | |
0 | ['1','2'] | a1 | ['1','2'] | b1 |
1 | ['1','2'] | a2 | ['1','2'] | b2 |
结论就是赋值只能是全部赋同一个值,不能分别,要想分别赋值用如下:
df['c']=['c1','c2']
或者统一赋值
df['c']=1
给单元格赋值
语句:df.loc[行号,'列名']= value
例:df.loc[0,'name']='Elle' 给第一行name列赋值