DataFrame列操作:.rename, 增加列by [ ], insert

http://liao.cpython.org/pandas13/

rename修改列名字:

对一个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

插入一列,直接写 df[ ]

用[ ] 来插入列,插入的是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

insert函数可将插入的series放在指定位置。

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

你可能感兴趣的:(DataFrame列操作:.rename, 增加列by [ ], insert)