pandas系列之插入新的行列、apply()、applymap()函数

298 阅读2分钟

本文所用数据表格内容如下:

image-20210802195053900.png

1.apply()函数与applymap()函数

python中有一个map函数,在DataFrame中有两个与map函数类似的函数,即apply()函数与applymap()函数

1.1 apply()函数

apply()函数主要用于对DataFrame中的某一列或者某一行的元素执行相同的操作

import pandas as pd
​
user_df = pd.read_excel(r'C:\Users\viruser.v-desktop\Desktop\用户信息表.xlsx')
print(user_df['7月销量'].apply(lambda x: x*2))

result:

0    130
1     90
2     24
3    120
4    112
Name: 7月销量, dtype: int64

1.2 applymap()函数

applymap()函数主要用于对DataFrame中的每一个元素都执行相同的操作

user_df = pd.read_excel(r'C:\Users\viruser.v-desktop\Desktop\用户信息表.xlsx')
print(user_df.applymap(lambda x: x*2))

result:

   用户id  等级    区域    城市  7月销量  8月销量  9月销量
0     2  AA  华东华东  上海上海   130   134   156
1     4  BB  华中华中  武汉武汉    90   108   116
2     6  BB  东北东北  大连大连    24    68    92
3     8  DD  华南华南  广东广东   120   144   156
4    10  CC  华中华中  长沙长沙   112   134   148

2.插入新的行或列

2.1 插入行

python中没有专门插入行的方法,可以把带插入的行看作一个新的表,让将两个表进行纵向合并,关于表的纵向拼接,可以参考pandas系列之表的纵向拼接

2.2 插入列

2.2.1 使用insert方法插入

python中有insert方法刻印用来直接插入列,insert()方法要指明插入的位置、插入后新的列名以及要插入的数据

import pandas as pd
​
user_df = pd.read_excel(r'C:\Users\viruser.v-desktop\Desktop\用户信息表.xlsx')
user_df.insert(2, '商品类别', ['水果', '图书', '五金', '家电', '首饰'])
print(user_df)

result:

   用户id 等级 商品类别  区域  城市  7月销量  8月销量  9月销量
0     1  A   水果  华东  上海    65    67    78
1     2  B   图书  华中  武汉    45    54    58
2     3  B   五金  东北  大连    12    34    46
3     4  D   家电  华南  广东    60    72    78
4     5  C   首饰  华中  长沙    56    67    74

2.2.2 使用索引插入

import pandas as pd
​
user_df = pd.read_excel(r'C:\Users\viruser.v-desktop\Desktop\用户信息表.xlsx')
user_df['商品类别'] = ['水果', '图书', '五金', '家电', '首饰']
print(user_df)

result:

   用户id 等级  区域  城市  7月销量  8月销量  9月销量 商品类别
0     1  A  华东  上海    65    67    78   水果
1     2  B  华中  武汉    45    54    58   图书
2     3  B  东北  大连    12    34    46   五金
3     4  D  华南  广东    60    72    78   家电
4     5  C  华中  长沙    56    67    74   首饰