Pandas
1.Series
Series是一种一维数组
import pandas as pd
list1 = [1,-2,3,-4]
obj = pd.Series(list1)
obj
0 1
1 -2
2 3
3 -4
dtype: int64
index = ["a","b","c","d"]
values = [2,5,7,8]
obj = pd.Series(values,index=index,name='指定索引')
obj
a 2
b 5
c 7
d 8
Name: 指定索引, dtype: int64
dict1 = {'张三':2000,'李四':800,'王五':30,'刘六':500}
obj = pd.Series(dict1)
obj
张三 2000
李四 800
王五 30
刘六 500
dtype: int64
data = {'张三':2000,'李四':800,'王五':30,'刘六':500}
index = ['张三','李四','王五','刘六','张三一']
obj = pd.Series(dict1,index=index)
obj
张三 2000.0
李四 800.0
王五 30.0
刘六 500.0
张三一 NaN
dtype: float64
values = [2,5,7,8]
obj = pd.Series(values)
obj.index = ["a","b","c","d"]
obj
a 2
b 5
c 7
d 8
dtype: int64
DataFrame
data = {
'A':[2,3,5,2,3],
'B':[5,0,2,3,6],
'C':[8,7,50,8,2],
'key':[3,4,5,2,2]
}
df = pd.DataFrame(data)
df
|
A |
B |
C |
key |
0 |
2 |
5 |
8 |
3 |
1 |
3 |
0 |
7 |
4 |
2 |
5 |
2 |
50 |
5 |
3 |
2 |
3 |
8 |
2 |
4 |
3 |
6 |
2 |
2 |
columns = ['C','B','A','key']
df = pd.DataFrame(data,columns=columns)
df
|
C |
B |
A |
key |
0 |
8 |
5 |
2 |
3 |
1 |
7 |
0 |
3 |
4 |
2 |
50 |
2 |
5 |
5 |
3 |
8 |
3 |
2 |
2 |
4 |
2 |
6 |
3 |
2 |
df
|
C |
B |
A |
key |
0 |
8 |
5 |
2 |
3 |
1 |
7 |
0 |
3 |
4 |
2 |
50 |
2 |
5 |
5 |
3 |
8 |
3 |
2 |
2 |
4 |
2 |
6 |
3 |
2 |
df.index
RangeIndex(start=0, stop=5, step=1)
df.columns
Index(['C', 'B', 'A', 'key'], dtype='object')
df
|
C |
B |
A |
key |
0 |
8 |
5 |
2 |
3 |
1 |
7 |
0 |
3 |
4 |
2 |
50 |
2 |
5 |
5 |
3 |
8 |
3 |
2 |
2 |
4 |
2 |
6 |
3 |
2 |
df.values
array([[ 8, 5, 2, 3],
[ 7, 0, 3, 4],
[50, 2, 5, 5],
[ 8, 3, 2, 2],
[ 2, 6, 3, 2]], dtype=int64)
df.columns
Index(['C', 'B', 'A', 'key'], dtype='object')
df.size
20
df.ndim
2
df.shape
(5, 4)
data = pd.read_csv(r'D:\Desktop\大三第二学期\Python实训\数据\members.csv')
data
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
0 |
BL6099033097969709934 |
黄金会员 |
2019-03-30 17:16:17.141 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
活跃 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
4 |
BL6099036393309900969 |
黄金会员 |
2019-03-28 18:30:19.672 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
活跃 |
5 |
BL6099036395563900606 |
白银会员 |
2019-03-28 15:52:31.583 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
沉睡 |
6 |
BL6099090903509300066 |
白银会员 |
2019-01-01 08:50:13.267 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
沉睡 |
7 |
BL6093906999066500093 |
白银会员 |
2018-10-29 11:06:25.902 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
沉睡 |
8 |
BL6093906395604900473 |
白银会员 |
2018-10-28 15:20:49.183 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
沉睡 |
9 |
BL6093906793643300676 |
白银会员 |
2018-10-27 13:24:38.805 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
沉睡 |
w1 = data['会员等级']
w1
0 黄金会员
1 白银会员
2 白银会员
3 白银会员
4 黄金会员
5 白银会员
6 白银会员
7 白银会员
8 白银会员
9 白银会员
Name: 会员等级, dtype: object
w1 = data[['会员等级','性别']]
w1
|
会员等级 |
性别 |
0 |
黄金会员 |
男 |
1 |
白银会员 |
女 |
2 |
白银会员 |
女 |
3 |
白银会员 |
女 |
4 |
黄金会员 |
女 |
5 |
白银会员 |
男 |
6 |
白银会员 |
男 |
7 |
白银会员 |
女 |
8 |
白银会员 |
男 |
9 |
白银会员 |
女 |
data[1:2]
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
data[1:5]
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
4 |
BL6099036393309900969 |
黄金会员 |
2019-03-28 18:30:19.672 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
活跃 |
data.loc[:,['会员等级','性别']]
|
会员等级 |
性别 |
0 |
黄金会员 |
男 |
1 |
白银会员 |
女 |
2 |
白银会员 |
女 |
3 |
白银会员 |
女 |
4 |
黄金会员 |
女 |
5 |
白银会员 |
男 |
6 |
白银会员 |
男 |
7 |
白银会员 |
女 |
8 |
白银会员 |
男 |
9 |
白银会员 |
女 |
data.loc[[1,3],['会员等级','性别']]
|
会员等级 |
性别 |
1 |
白银会员 |
女 |
3 |
白银会员 |
女 |
data.loc[[1,3],:]
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
data.iloc[1:3,:]
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
data.loc[1:3,:]
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
data[data['性别']=='女']
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
4 |
BL6099036393309900969 |
黄金会员 |
2019-03-28 18:30:19.672 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
活跃 |
7 |
BL6093906999066500093 |
白银会员 |
2018-10-29 11:06:25.902 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
沉睡 |
9 |
BL6093906793643300676 |
白银会员 |
2018-10-27 13:24:38.805 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
沉睡 |
data
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
0 |
BL6099033097969709934 |
黄金会员 |
2019-03-30 17:16:17.141 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
活跃 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
4 |
BL6099036393309900969 |
黄金会员 |
2019-03-28 18:30:19.672 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
活跃 |
5 |
BL6099036395563900606 |
白银会员 |
2019-03-28 15:52:31.583 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
沉睡 |
6 |
BL6099090903509300066 |
白银会员 |
2019-01-01 08:50:13.267 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
沉睡 |
7 |
BL6093906999066500093 |
白银会员 |
2018-10-29 11:06:25.902 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
沉睡 |
8 |
BL6093906395604900473 |
白银会员 |
2018-10-28 15:20:49.183 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
沉睡 |
9 |
BL6093906793643300676 |
白银会员 |
2018-10-27 13:24:38.805 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
沉睡 |
data = data.loc[:,['所属店铺编码','性别','生日','年齡']]
data
|
所属店铺编码 |
性别 |
生日 |
年齡 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
4 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
5 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
data_add = {'所属店铺编码':'DPJ000','性别':'男','生日':'2000-11-11','年齡':'20.0'}
data = data.append(data_add,ignore_index=True)
|
所属店铺编码 |
性别 |
生日 |
年齡 |
0 |
DPJ009 |
男 |
1988-12-20 |
30 |
1 |
DPJ009 |
女 |
1995-05-20 |
23 |
2 |
DPJ009 |
女 |
1990-09-05 |
28 |
3 |
DPJ009 |
女 |
1971-07-23 |
47 |
4 |
DPJ009 |
女 |
1990-09-15 |
28 |
5 |
DPJ009 |
男 |
1980-06-04 |
38 |
6 |
DPJ008 |
男 |
1969-12-19 |
49 |
7 |
DPJ008 |
女 |
2000-02-27 |
19 |
8 |
DPJ008 |
男 |
1969-10-26 |
49 |
9 |
DPJ008 |
女 |
1989-11-04 |
29 |
10 |
DPJ000 |
男 |
2000-11-11 |
20.0 |
data['学历'] = '本科'
data
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
4 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
本科 |
5 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
本科 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
data['薪资'] = [1000,200,3000,5000,10000,400,5000,6000,7555,8000]
data
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
薪资 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
1000 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
200 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
3000 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
5000 |
4 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
本科 |
10000 |
5 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
本科 |
400 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
5000 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
6000 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
7555 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
8000 |
data.drop(4,axis=0)
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
薪资 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
1000 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
200 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
3000 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
5000 |
5 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
本科 |
400 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
5000 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
6000 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
7555 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
8000 |
data.drop(5,axis=0,inplace=True)
data
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
薪资 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
1000 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
200 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
3000 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
5000 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
5000 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
6000 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
7555 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
8000 |
data.drop('薪资',axis=1,inplace=True)
data
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
data.sort_index(ascending=False)
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
data.sort_values(by='年齡')
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
df
|
C |
B |
A |
key |
0 |
8 |
5 |
2 |
3 |
1 |
7 |
0 |
3 |
4 |
2 |
50 |
2 |
5 |
5 |
3 |
8 |
3 |
2 |
2 |
4 |
2 |
6 |
3 |
2 |
df.describe()
|
C |
B |
A |
key |
count |
5.000000 |
5.000000 |
5.000000 |
5.00000 |
mean |
15.000000 |
3.200000 |
3.000000 |
3.20000 |
std |
19.723083 |
2.387467 |
1.224745 |
1.30384 |
min |
2.000000 |
0.000000 |
2.000000 |
2.00000 |
25% |
7.000000 |
2.000000 |
2.000000 |
2.00000 |
50% |
8.000000 |
3.000000 |
3.000000 |
3.00000 |
75% |
8.000000 |
5.000000 |
3.000000 |
4.00000 |
max |
50.000000 |
6.000000 |
5.000000 |
5.00000 |
df.sum()
C 75
B 16
A 15
key 16
dtype: int64
df.sum(axis=1)
0 18
1 14
2 62
3 15
4 13
dtype: int64
data
|
所属店铺编码 |
性别 |
生日 |
年齡 |
学历 |
0 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
本科 |
1 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
本科 |
2 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
本科 |
3 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
本科 |
6 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
本科 |
7 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
本科 |
8 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
本科 |
9 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
本科 |
data['所属店铺编码'].unique()
array(['DPJ009', 'DPJ008'], dtype=object)
data['所属店铺编码'].value_counts()
DPJ009 4
DPJ008 4
Name: 所属店铺编码, dtype: int64
import pandas as pd
import numpy as np
df = pd.DataFrame({
'key1':['a','b','a','b','b'],
'key2':['yes','no','yes','yes','no'],
'data1':np.arange(5),
'data2':np.random.rand(5)
})
df
|
key1 |
key2 |
data1 |
data2 |
0 |
a |
yes |
0 |
0.775070 |
1 |
b |
no |
1 |
0.641297 |
2 |
a |
yes |
2 |
0.076019 |
3 |
b |
yes |
3 |
0.068691 |
4 |
b |
no |
4 |
0.983585 |
df.groupby('key2').count()
|
key1 |
data1 |
data2 |
key2 |
|
|
|
no |
2 |
2 |
2 |
yes |
3 |
3 |
3 |
wlist = ['w','w','y','w','w']
df.groupby(wlist).sum()
|
data1 |
data2 |
w |
8 |
1.929771 |
y |
2 |
0.937298 |
df
|
key1 |
key2 |
data1 |
data2 |
0 |
a |
yes |
0 |
0.775070 |
1 |
b |
no |
1 |
0.641297 |
2 |
a |
yes |
2 |
0.076019 |
3 |
b |
yes |
3 |
0.068691 |
4 |
b |
no |
4 |
0.983585 |
wdict = {0:'one',1:'one',2:'two',3:'three',4:'two'}
df.groupby(wdict).count()
|
key1 |
key2 |
data1 |
data2 |
one |
2 |
2 |
2 |
2 |
three |
1 |
1 |
1 |
1 |
two |
2 |
2 |
2 |
2 |
def fenzu(x):
if x> 0.5:
return 'a'
else:
return 'b'
df.groupby(df['data2'].map(fenzu)).count()
|
key1 |
key2 |
data1 |
data2 |
data2 |
|
|
|
|
a |
3 |
3 |
3 |
3 |
b |
2 |
2 |
2 |
2 |
df.groupby(df['data2'].map(fenzu)).count()
df.groupby(df['data2'].map(fenzu)).sum()
df.groupby(df['data2'].map(fenzu)).mean()
df.groupby(df['data2'].map(fenzu)).median()
df.groupby(df['data2'].map(fenzu)).std()
df.groupby(df['data2'].map(fenzu)).var()
df.groupby(df['data2'].map(fenzu)).min()
df.groupby(df['data2'].map(fenzu)).max()
df.groupby(df['data2'].map(fenzu)).prod()
df.groupby(df['data2'].map(fenzu)).first()
df.groupby(df['data2'].map(fenzu)).last()
|
key1 |
key2 |
data1 |
data2 |
data2 |
|
|
|
|
a |
b |
no |
4 |
0.983585 |
b |
b |
yes |
3 |
0.068691 |
df[['data1','data2']].agg([np.sum,np.mean,np.min])
|
data1 |
data2 |
sum |
10.0 |
2.544661 |
mean |
2.0 |
0.508932 |
amin |
0.0 |
0.068691 |
df.agg({'data1':np.sum,'data2':[np.mean,np.min]})
|
data1 |
data2 |
amin |
NaN |
0.068691 |
mean |
NaN |
0.508932 |
sum |
10.0 |
NaN |
df.groupby(['data2','data1'])['data1','data2'].transform('mean')
|
data1 |
data2 |
3 |
3 |
0.068691 |
0 |
0 |
0.775070 |
2 |
2 |
0.076019 |
4 |
4 |
0.983585 |
1 |
1 |
0.641297 |
```python import pandas as pd ```
members = pd.read_csv(r'D:\Desktop\大三第二学期\Python实训\数据\members.csv')
members
|
会员卡号 |
会员等级 |
注册时间 |
所属店铺编码 |
性别 |
生日 |
年齡 |
生命级别 |
0 |
BL6099033097969709934 |
黄金会员 |
2019-03-30 17:16:17.141 |
DPJ009 |
男 |
1988-12-20 |
30.0 |
活跃 |
1 |
BL6099033094943300594 |
白银会员 |
2019-03-30 14:14:38.576 |
DPJ009 |
女 |
1995-05-20 |
23.0 |
活跃 |
2 |
BL6099033099933500943 |
白银会员 |
2019-03-30 11:13:35.469 |
DPJ009 |
女 |
1990-09-05 |
28.0 |
沉睡 |
3 |
BL6099036369935609966 |
白银会员 |
2019-03-28 21:13:52.917 |
DPJ009 |
女 |
1971-07-23 |
47.0 |
沉睡 |
4 |
BL6099036393309900969 |
黄金会员 |
2019-03-28 18:30:19.672 |
DPJ009 |
女 |
1990-09-15 |
28.0 |
活跃 |
5 |
BL6099036395563900606 |
白银会员 |
2019-03-28 15:52:31.583 |
DPJ009 |
男 |
1980-06-04 |
38.0 |
沉睡 |
6 |
BL6099090903509300066 |
白银会员 |
2019-01-01 08:50:13.267 |
DPJ008 |
男 |
1969-12-19 |
49.0 |
沉睡 |
7 |
BL6093906999066500093 |
白银会员 |
2018-10-29 11:06:25.902 |
DPJ008 |
女 |
2000-02-27 |
19.0 |
沉睡 |
8 |
BL6093906395604900473 |
白银会员 |
2018-10-28 15:20:49.183 |
DPJ008 |
男 |
1969-10-26 |
49.0 |
沉睡 |
9 |
BL6093906793643300676 |
白银会员 |
2018-10-27 13:24:38.805 |
DPJ008 |
女 |
1989-11-04 |
29.0 |
沉睡 |
pd.crosstab(index=members['会员等级'],columns=members['性别'])
性别 |
女 |
男 |
会员等级 |
|
|
白银会员 |
5 |
3 |
黄金会员 |
1 |
1 |
pd.crosstab(index=members['会员等级'],columns=members['性别'],values=members['年齡'],aggfunc='mean')
性别 |
女 |
男 |
会员等级 |
|
|
白银会员 |
29.2 |
45.333333 |
黄金会员 |
28.0 |
30.000000 |
透视表
members.pivot_table(values='年齡',index='会员等级')
|
年齡 |
会员等级 |
|
白银会员 |
35.25 |
黄金会员 |
29.00 |
members.pivot_table(values='年齡',index='会员等级',columns='性别')
性别 |
女 |
男 |
会员等级 |
|
|
白银会员 |
29.2 |
45.333333 |
黄金会员 |
28.0 |
30.000000 |
members.pivot_table(values='年齡',index=['所属店铺编码','会员等级'],columns='性别')
|
性别 |
女 |
男 |
所属店铺编码 |
会员等级 |
|
|
DPJ008 |
白银会员 |
24.000000 |
49.0 |
DPJ009 |
白银会员 |
32.666667 |
38.0 |
黄金会员 |
28.000000 |
30.0 |
import pandas as pd
orders = pd.read_excel(r'D:\Desktop\大三第二学期\Python实训\数据\会员消费报表.xlsx')
stores = pd.read_excel(r'D:\Desktop\大三第二学期\Python实训\数据\门店信息表.xlsx')
orders = pd.read_csv(r'D:\Desktop\大三第二学期\Python实训\数据\会员消费报表.csv')
stores = pd.read_csv(r'D:\Desktop\大三第二学期\Python实训\数据\门店信息表.csv',usecols=['店铺代码', '地区编码'])
orders.head()
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230 |
1 |
1200.0 |
800 |
1 |
BL6093039999465603590 |
2018-11-30 |
ODODOXF77X8X2BXBBBB2 |
下单 |
DPX377 |
BLA2651QX14AQC |
240 |
1 |
1332.0 |
2531 |
2 |
BL6093909593939600407 |
2018-11-30 |
ROX8XXFBBBB6BB |
退单 |
DPS00X |
TMA27727X5QAQM |
240 |
-1 |
-112.5 |
328 |
3 |
BL6093036096030709394 |
2018-11-30 |
ROX8XXFBBBB6X7 |
退单 |
DPS00X |
TMA67621X5QBQTM |
230 |
-1 |
-60.0 |
1038 |
4 |
BL6093993066943700650 |
2018-11-30 |
ODLOX6BFX8XXFBBBBBX |
下单 |
DPX603 |
BLA26663X52AQTM |
235 |
1 |
1200.0 |
800 |
stores.head()
|
店铺代码 |
地区编码 |
0 |
DPX00X |
GBL6020 |
1 |
DPX002 |
GBL6020 |
2 |
DPX003 |
GBL6020 |
3 |
DPX004 |
GBL6020 |
4 |
DPX005 |
GBL6020 |
data = stores[0:10]
data
|
店铺代码 |
地区编码 |
0 |
DPX00X |
GBL6020 |
1 |
DPX002 |
GBL6020 |
2 |
DPX003 |
GBL6020 |
3 |
DPX004 |
GBL6020 |
4 |
DPX005 |
GBL6020 |
5 |
DPX006 |
GBL6020 |
6 |
DPX007 |
GBL6020 |
7 |
DPX008 |
GBL6020 |
8 |
DPX0X0 |
GBL6020 |
9 |
DPX0X2 |
GBL6020 |
data.to_csv('test.csv')
data.to_excel('test.xlsx')
pd.merge(orders,stores,left_on='店铺代码',right_on='店铺代码')
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230 |
1 |
1200.0 |
800 |
GBL6140 |
1 |
BL6093996469665709064 |
2018-11-28 |
ODROX6BXX8XX28BBBB2 |
退单 |
DPX60X |
BLA26725X13AQTM |
235 |
-1 |
-1200.0 |
100 |
GBL6140 |
2 |
BL6093996469665709064 |
2018-11-28 |
ODLOX6BXX8XX28BBBBX |
下单 |
DPX60X |
BLA26725X13AQTM |
235 |
1 |
1200.0 |
900 |
GBL6140 |
3 |
BL6093996469665709064 |
2018-11-27 |
ODROX6BXX8XX29BBBBX |
退单 |
DPX60X |
BLA26725X13AQTM |
235 |
-1 |
-1200.0 |
900 |
GBL6140 |
4 |
BL6093996469665709064 |
2018-11-27 |
ODLOX6BXX8XX28BBBB2 |
下单 |
DPX60X |
BLA26725X13AQTM |
235 |
1 |
1200.0 |
1700 |
GBL6140 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
203432 |
BL6093036060549503396 |
2019-01-12 |
ODLOX9B2X9BXX2BBBBX |
下单 |
DPX902 |
BLA26516X1QAQG |
235 |
1 |
1948.5 |
1633 |
GBL6070 |
203433 |
BL6099090969949400565 |
2019-01-09 |
ODLOX892X9BXB9BBBBX |
下单 |
DPX892 |
BLA265Q4X11TMQQ |
230 |
1 |
1153.5 |
869 |
GBL6130 |
203434 |
BL6093056769576003366 |
2019-01-08 |
ODODOX2B2X9BXB8BBBBX |
下单 |
DPX202 |
BLAQ2112X6QBQQ |
215 |
1 |
1198.5 |
899 |
GBL6090 |
203435 |
BL6093960694035600946 |
2019-01-01 |
ODLOX9BFX9BXBXBBBBX |
下单 |
DPX903 |
TMB265L5X62N21 |
230 |
1 |
1198.5 |
1000 |
GBL6140 |
203436 |
BL6093960694035600946 |
2019-01-01 |
ODLOX9BFX9BXBXBBBBX |
下单 |
DPX903 |
BLA27714X2QBQG |
230 |
1 |
1500.0 |
1000 |
GBL6140 |
203437 rows × 11 columns
pd.merge(orders,stores,how='left')
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230 |
1 |
1200.0 |
800 |
GBL6140 |
1 |
BL6093039999465603590 |
2018-11-30 |
ODODOXF77X8X2BXBBBB2 |
下单 |
DPX377 |
BLA2651QX14AQC |
240 |
1 |
1332.0 |
2531 |
GBL6070 |
2 |
BL6093909593939600407 |
2018-11-30 |
ROX8XXFBBBB6BB |
退单 |
DPS00X |
TMA27727X5QAQM |
240 |
-1 |
-112.5 |
328 |
GBL6D01 |
3 |
BL6093036096030709394 |
2018-11-30 |
ROX8XXFBBBB6X7 |
退单 |
DPS00X |
TMA67621X5QBQTM |
230 |
-1 |
-60.0 |
1038 |
GBL6D01 |
4 |
BL6093993066943700650 |
2018-11-30 |
ODLOX6BFX8XXFBBBBBX |
下单 |
DPX603 |
BLA26663X52AQTM |
235 |
1 |
1200.0 |
800 |
GBL6140 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
203432 |
BL6093969594069900955 |
2019-01-01 |
ODROX68BX9BXBXBBBBX |
退单 |
DPX680 |
BL44P7QXQ1XXA |
230 |
-1 |
-1.5 |
0 |
GBL6110 |
203433 |
BL6093969594069900955 |
2019-01-01 |
ODROX68BX9BXBXBBBBX |
退单 |
DPX680 |
BLA26766X5QC3TM |
235 |
-1 |
-1707.0 |
0 |
GBL6110 |
203434 |
BL6099090990995900030 |
2019-01-01 |
ODLOX68BX9BXBXBBBBF |
下单 |
DPX680 |
BLA26663X56BQTM |
235 |
1 |
1011.0 |
337 |
GBL6110 |
203435 |
BL6099090909590300063 |
2019-01-01 |
ODLOX22XX9BXBXBBBBF |
下单 |
DPX22X |
BLA27522X16AQTM |
235 |
1 |
1032.0 |
344 |
GBL6050 |
203436 |
BL6099090909343700065 |
2019-01-01 |
ODLOX225X9BXBXBBBBX |
下单 |
DPX225 |
BLA26517X11CQM |
235 |
1 |
598.5 |
0 |
GBL6050 |
203437 rows × 11 columns
pd.merge(orders,stores,how='right')
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230.0 |
1.0 |
1200.0 |
800.0 |
GBL6140 |
1 |
BL6093996469665709064 |
2018-11-28 |
ODROX6BXX8XX28BBBB2 |
退单 |
DPX60X |
BLA26725X13AQTM |
235.0 |
-1.0 |
-1200.0 |
100.0 |
GBL6140 |
2 |
BL6093996469665709064 |
2018-11-28 |
ODLOX6BXX8XX28BBBBX |
下单 |
DPX60X |
BLA26725X13AQTM |
235.0 |
1.0 |
1200.0 |
900.0 |
GBL6140 |
3 |
BL6093996469665709064 |
2018-11-27 |
ODROX6BXX8XX29BBBBX |
退单 |
DPX60X |
BLA26725X13AQTM |
235.0 |
-1.0 |
-1200.0 |
900.0 |
GBL6140 |
4 |
BL6093996469665709064 |
2018-11-27 |
ODLOX6BXX8XX28BBBB2 |
下单 |
DPX60X |
BLA26725X13AQTM |
235.0 |
1.0 |
1200.0 |
1700.0 |
GBL6140 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
203580 |
NaN |
NaN |
NaN |
NaN |
DPJ030 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6080 |
203581 |
NaN |
NaN |
NaN |
NaN |
DPJ033 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6110 |
203582 |
NaN |
NaN |
NaN |
NaN |
DPJ034 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6010 |
203583 |
NaN |
NaN |
NaN |
NaN |
DPJ036 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6120 |
203584 |
NaN |
NaN |
NaN |
NaN |
DPJ04X |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6070 |
203585 rows × 11 columns
s1 = pd.Series([0,1],index=['a','b'])
s2 = pd.Series([0,1,3],index=['e','d','c'])
s3 = pd.Series([0,2],index=['a','e'])
pd.concat([s1,s2,s3])
a 0
b 1
e 0
d 1
c 3
a 0
e 2
dtype: int64
data1 = orders[0:10]
data2 = stores[0:5]
data = pd.concat([data1,data2])
data
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230.0 |
1.0 |
1200.0 |
800.0 |
NaN |
1 |
BL6093039999465603590 |
2018-11-30 |
ODODOXF77X8X2BXBBBB2 |
下单 |
DPX377 |
BLA2651QX14AQC |
240.0 |
1.0 |
1332.0 |
2531.0 |
NaN |
2 |
BL6093909593939600407 |
2018-11-30 |
ROX8XXFBBBB6BB |
退单 |
DPS00X |
TMA27727X5QAQM |
240.0 |
-1.0 |
-112.5 |
328.0 |
NaN |
3 |
BL6093036096030709394 |
2018-11-30 |
ROX8XXFBBBB6X7 |
退单 |
DPS00X |
TMA67621X5QBQTM |
230.0 |
-1.0 |
-60.0 |
1038.0 |
NaN |
4 |
BL6093993066943700650 |
2018-11-30 |
ODLOX6BFX8XXFBBBBBX |
下单 |
DPX603 |
BLA26663X52AQTM |
235.0 |
1.0 |
1200.0 |
800.0 |
NaN |
5 |
BL6093993066063900639 |
2018-11-30 |
ODLOX78MX8XXFBBBBB6 |
下单 |
DPX784 |
BLA26515X1QBQQ |
230.0 |
1.0 |
598.5 |
899.0 |
NaN |
6 |
BL6093993066063900639 |
2018-11-30 |
ODLOX78MX8XXFBBBBB6 |
下单 |
DPX784 |
BLA26524X13AQS |
225.0 |
1.0 |
898.5 |
899.0 |
NaN |
7 |
BL6093993066000900635 |
2018-11-30 |
ODLOX78MX8XXFBBBBB5 |
下单 |
DPX784 |
BLA265Q3X13AQM |
235.0 |
1.0 |
1050.0 |
700.0 |
NaN |
8 |
BL6093049960399909703 |
2018-11-30 |
ODLOXM8BX8XXFBBBBB6 |
下单 |
DPX480 |
BLA67712X15BQTM |
235.0 |
1.0 |
598.5 |
930.0 |
NaN |
9 |
BL6093049960399909703 |
2018-11-30 |
ODLOXM8BX8XXFBBBBB6 |
下单 |
DPX480 |
BLA26663X5QAQTM |
235.0 |
1.0 |
1050.0 |
930.0 |
NaN |
0 |
NaN |
NaN |
NaN |
NaN |
DPX00X |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6020 |
1 |
NaN |
NaN |
NaN |
NaN |
DPX002 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6020 |
2 |
NaN |
NaN |
NaN |
NaN |
DPX003 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6020 |
3 |
NaN |
NaN |
NaN |
NaN |
DPX004 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6020 |
4 |
NaN |
NaN |
NaN |
NaN |
DPX005 |
NaN |
NaN |
NaN |
NaN |
NaN |
GBL6020 |
data.isnull()
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
1 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
2 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
3 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
4 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
5 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
6 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
7 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
8 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
9 |
False |
False |
False |
False |
False |
False |
False |
False |
False |
False |
True |
0 |
True |
True |
True |
True |
False |
True |
True |
True |
True |
True |
False |
1 |
True |
True |
True |
True |
False |
True |
True |
True |
True |
True |
False |
2 |
True |
True |
True |
True |
False |
True |
True |
True |
True |
True |
False |
3 |
True |
True |
True |
True |
False |
True |
True |
True |
True |
True |
False |
4 |
True |
True |
True |
True |
False |
True |
True |
True |
True |
True |
False |
data.isnull().sum()
卡号 5
订单日期 5
订单号 5
订单类型 5
店铺代码 0
款号 5
尺码 5
消费数量 5
消费金额 5
当前积分 5
地区编码 10
dtype: int64
data.notnull()
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
1 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
2 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
3 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
4 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
5 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
6 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
7 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
8 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
9 |
True |
True |
True |
True |
True |
True |
True |
True |
True |
True |
False |
0 |
False |
False |
False |
False |
True |
False |
False |
False |
False |
False |
True |
1 |
False |
False |
False |
False |
True |
False |
False |
False |
False |
False |
True |
2 |
False |
False |
False |
False |
True |
False |
False |
False |
False |
False |
True |
3 |
False |
False |
False |
False |
True |
False |
False |
False |
False |
False |
True |
4 |
False |
False |
False |
False |
True |
False |
False |
False |
False |
False |
True |
data1 = data.dropna()
data1
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
data2 = data.fillna(0)
data2
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230.0 |
1.0 |
1200.0 |
800.0 |
0 |
1 |
BL6093039999465603590 |
2018-11-30 |
ODODOXF77X8X2BXBBBB2 |
下单 |
DPX377 |
BLA2651QX14AQC |
240.0 |
1.0 |
1332.0 |
2531.0 |
0 |
2 |
BL6093909593939600407 |
2018-11-30 |
ROX8XXFBBBB6BB |
退单 |
DPS00X |
TMA27727X5QAQM |
240.0 |
-1.0 |
-112.5 |
328.0 |
0 |
3 |
BL6093036096030709394 |
2018-11-30 |
ROX8XXFBBBB6X7 |
退单 |
DPS00X |
TMA67621X5QBQTM |
230.0 |
-1.0 |
-60.0 |
1038.0 |
0 |
4 |
BL6093993066943700650 |
2018-11-30 |
ODLOX6BFX8XXFBBBBBX |
下单 |
DPX603 |
BLA26663X52AQTM |
235.0 |
1.0 |
1200.0 |
800.0 |
0 |
5 |
BL6093993066063900639 |
2018-11-30 |
ODLOX78MX8XXFBBBBB6 |
下单 |
DPX784 |
BLA26515X1QBQQ |
230.0 |
1.0 |
598.5 |
899.0 |
0 |
6 |
BL6093993066063900639 |
2018-11-30 |
ODLOX78MX8XXFBBBBB6 |
下单 |
DPX784 |
BLA26524X13AQS |
225.0 |
1.0 |
898.5 |
899.0 |
0 |
7 |
BL6093993066000900635 |
2018-11-30 |
ODLOX78MX8XXFBBBBB5 |
下单 |
DPX784 |
BLA265Q3X13AQM |
235.0 |
1.0 |
1050.0 |
700.0 |
0 |
8 |
BL6093049960399909703 |
2018-11-30 |
ODLOXM8BX8XXFBBBBB6 |
下单 |
DPX480 |
BLA67712X15BQTM |
235.0 |
1.0 |
598.5 |
930.0 |
0 |
9 |
BL6093049960399909703 |
2018-11-30 |
ODLOXM8BX8XXFBBBBB6 |
下单 |
DPX480 |
BLA26663X5QAQTM |
235.0 |
1.0 |
1050.0 |
930.0 |
0 |
0 |
0 |
0 |
0 |
0 |
DPX00X |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
1 |
0 |
0 |
0 |
0 |
DPX002 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
2 |
0 |
0 |
0 |
0 |
DPX003 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
3 |
0 |
0 |
0 |
0 |
DPX004 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
4 |
0 |
0 |
0 |
0 |
DPX005 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
data2.drop_duplicates()
|
卡号 |
订单日期 |
订单号 |
订单类型 |
店铺代码 |
款号 |
尺码 |
消费数量 |
消费金额 |
当前积分 |
地区编码 |
0 |
HS340766JAF6 |
2018-11-30 |
ODLOX6BXX8X2BXBBBBX |
下单 |
DPX60X |
BLA267Q3X13AQM |
230.0 |
1.0 |
1200.0 |
800.0 |
0 |
1 |
BL6093039999465603590 |
2018-11-30 |
ODODOXF77X8X2BXBBBB2 |
下单 |
DPX377 |
BLA2651QX14AQC |
240.0 |
1.0 |
1332.0 |
2531.0 |
0 |
2 |
BL6093909593939600407 |
2018-11-30 |
ROX8XXFBBBB6BB |
退单 |
DPS00X |
TMA27727X5QAQM |
240.0 |
-1.0 |
-112.5 |
328.0 |
0 |
3 |
BL6093036096030709394 |
2018-11-30 |
ROX8XXFBBBB6X7 |
退单 |
DPS00X |
TMA67621X5QBQTM |
230.0 |
-1.0 |
-60.0 |
1038.0 |
0 |
4 |
BL6093993066943700650 |
2018-11-30 |
ODLOX6BFX8XXFBBBBBX |
下单 |
DPX603 |
BLA26663X52AQTM |
235.0 |
1.0 |
1200.0 |
800.0 |
0 |
5 |
BL6093993066063900639 |
2018-11-30 |
ODLOX78MX8XXFBBBBB6 |
下单 |
DPX784 |
BLA26515X1QBQQ |
230.0 |
1.0 |
598.5 |
899.0 |
0 |
6 |
BL6093993066063900639 |
2018-11-30 |
ODLOX78MX8XXFBBBBB6 |
下单 |
DPX784 |
BLA26524X13AQS |
225.0 |
1.0 |
898.5 |
899.0 |
0 |
7 |
BL6093993066000900635 |
2018-11-30 |
ODLOX78MX8XXFBBBBB5 |
下单 |
DPX784 |
BLA265Q3X13AQM |
235.0 |
1.0 |
1050.0 |
700.0 |
0 |
8 |
BL6093049960399909703 |
2018-11-30 |
ODLOXM8BX8XXFBBBBB6 |
下单 |
DPX480 |
BLA67712X15BQTM |
235.0 |
1.0 |
598.5 |
930.0 |
0 |
9 |
BL6093049960399909703 |
2018-11-30 |
ODLOXM8BX8XXFBBBBB6 |
下单 |
DPX480 |
BLA26663X5QAQTM |
235.0 |
1.0 |
1050.0 |
930.0 |
0 |
0 |
0 |
0 |
0 |
0 |
DPX00X |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
1 |
0 |
0 |
0 |
0 |
DPX002 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
2 |
0 |
0 |
0 |
0 |
DPX003 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
3 |
0 |
0 |
0 |
0 |
DPX004 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
4 |
0 |
0 |
0 |
0 |
DPX005 |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
GBL6020 |
data2['卡号'].drop_duplicates()
0 HS340766JAF6
1 BL6093039999465603590
2 BL6093909593939600407
3 BL6093036096030709394
4 BL6093993066943700650
5 BL6093993066063900639
7 BL6093993066000900635
8 BL6093049960399909703
0 0
Name: 卡号, dtype: object