pandas之初窥门径
1、pandas声明
address_list = ['广东', '浙江', '广东', '浙江', '浙江', '广东', '广东', '广东', '广东', '广东']
sale_list = [1270.4, 4499.0, 1490.0, 127.5, 127.8, 1080.0, 1080.0, 1580.0, 3080.0, 480.0]
dataset = DataFrame({'address': address_list, "sale":sale_list})
<class 'pandas.core.frame.DataFrame'>
print(dataset)
address sale
0 广东 1270.4
1 浙江 4499.0
2 广东 1490.0
3 浙江 127.5
4 浙江 127.8
5 广东 1080.0
6 广东 1080.0
7 广东 1580.0
8 广东 3080.0
9 广东 480.0
[['广东', 1437.2], ['浙
print(dataset.values)
[['广东' 1270.4]
['浙江' 4499.0]
['广东' 1490.0]
['浙江' 127.5]
['浙江' 127.8]
['广东' 1080.0]
['广东' 1080.0]
['广东' 1580.0]
['广东' 3080.0]
['广东' 480.0]]
2、pandas条件过滤,
print(dataset[dataset.sale < 200])
address sale
3 浙江 127.5
4 浙江 127.8
print(dataset[(dataset.sale > 1000) & (dataset.sale < 3000)])
address sale
0 广东 1270.4
2 广东 1490.0
5 广东 1080.0
6 广东 1080.0
7 广东 1580.0
print(dataset[(dataset.sale < 200) | (dataset.sale > 3000)])
address sale
1 浙江 4499.0
3 浙江 127.5
4 浙江 127.8
8 广东 3080.0
3、pandas函数
address_list = ['广东', '浙江', '广东', '浙江', '浙江', '广东', '广东', '广东', '广东', '广东']
price_list = [1270.4, 4499.0, 1490.0, 127.5, 127.8, 1080.0, 1080.0, 1580.0, 3080.0, 480.0]
dataset = DataFrame({'address': address_list, "price": price_list})
# 分组
data_p = dataset.groupby('address')
# 求和
data_p = dataset.groupby('address', as_index=False).sum()
print(data_p)
address price
0 广东 10060.4
1 浙江 4754.3
# 平均值
data_p = dataset.groupby('address', as_index=False).mean()
print(data_p)
address price
0 广东 1437.200000
1 浙江 1584.766667
3、pandas转成list
df = DataFrame(data_p).values.tolist()
print(df)
[['广东', 1437.2], ['浙江', 1584.7666666666667]]
print(type(df))
<class 'list'>
##4、精度
data_p[['price']] = data_p[['price']].apply(np.round)
my_list = DataFrame(data_p).values.tolist()
print(my_list)
[['广东', 1437.0], ['浙江', 1585.0]]