http://liao.cpython.org/pandas13/
对一个dataframe的数据使用rename函数后返回新的dataframe,不影响原dataframe。
如果想直接影响本dataframe,可以使用参数inplace设置为True。
df1.rename({'ax':'a','bx':'b'},inplace = True)
df1.head()
Out[250]:
ax bx cx
a 10 11 12
b 13 14 15
c 16 17 18
d 19 20 21
e 22 23 24
# 没换成功, 因为没有备注columns =
df1.rename(columns = {'ax':'a','bx':'b'},inplace = True)
df1.head(2)
Out[252]:
a b cx
a 10 11 12
b 13 14 15
用[ ] 来插入列,插入的是series
df1['dx'] = pd.Series([1,2,3,4,5,6,7,8,9,10])
df1
Out[257]:
a b cx dx
a 10 11 12 NaN
b 13 14 15 NaN
c 16 17 18 NaN
d 19 20 21 NaN
e 22 23 24 NaN
f 25 26 27 NaN
g 28 29 30 NaN
h 31 32 33 NaN
i 34 35 36 NaN
j 37 38 39 NaN
# 都是NaN:因为没有index
df1['dx'] = pd.Series([1,2,3,4,5,6,7,8,9,10],index = label)
df1
Out[259]:
a b cx dx
a 10 11 12 1
b 13 14 15 2
c 16 17 18 3
d 19 20 21 4
e 22 23 24 5
f 25 26 27 6
g 28 29 30 7
h 31 32 33 8
i 34 35 36 9
j 37 38 39 10
df1['fx'] = np.arange(100,110).reshape(10,1)
df1
Out[264]:
a b cx dx fx
a 10 11 12 1 100
b 13 14 15 2 101
c 16 17 18 3 102
d 19 20 21 4 103
e 22 23 24 5 104
f 25 26 27 6 105
g 28 29 30 7 106
h 31 32 33 8 107
i 34 35 36 9 108
j 37 38 39 10 109
g = np.arange(20,30).reshape(10,1)
df1.insert(5,'g',g)
df1.insert(1,'g1',g)
df1
Out[271]:
a g1 b cx dx fx g
a 10 20 11 12 1 100 20
b 13 21 14 15 2 101 21
c 16 22 17 18 3 102 22
d 19 23 20 21 4 103 23
e 22 24 23 24 5 104 24
f 25 25 26 27 6 105 25
g 28 26 29 30 7 106 26
h 31 27 32 33 8 107 27
i 34 28 35 36 9 108 28
j 37 29 38 39 10 109 29