Pandas是一款快速,强大,灵活且易于使用的开源数据分析和操作工具,
建立在Python编程语言之上。
Pandas
- 前言
Pandas是一款快速,强大,灵活且易于使用的开源数据分析和操作工具,建立在Python编程语言之上。
- 一、安装
pip install pandas
查看版本:
import pandas
x = pandas.__version__
print(x)
1.5.2
- 二、Pandas和R语言比较
排序的方法不一样,更喜欢pandas的方式
汇总
先将csv的内容读到df里面,再进行相应的操作
import pandas as pd
url = ("./data/tips.csv")
df = pd.read_csv(url)
#print(df)
#sort排序
sorted_df = df.sort_values("total_bill")
#head实际即使获取头5行数据
print(sorted_df.head())
#print(sorted_df)
# iloc[:5] 和head() 是相同的,这里获取根据total_bill 排序的记录头4条
print(sorted_df.iloc[:4])
实际记录全部是进行排序
查询账单大于40的记录
#查询账单大于40的记录
total=df[df["total_bill"] > 40]
print(total)
转化为SQL
select total_bill, tip, sex, smoker, day, time, size
from tips
where total_bill > 40
记录tip率
addnumtip =df.assign(tip_rate=df["tip"] / df["total_bill"])
print(addnumtip.head())
通过assign 增加了一个计算字段tip_rate
查看是否是晚餐的账单
is_dinner = df["time"] == "Dinner"
获取消费男和女的比例
SELECT sex, count(*)
FROM tips
GROUP BY sex;
print(df.groupby("sex").size())
sex
Female 87
Male 157
dtype: int64
查看每天的平均小费
SELECT day, AVG(tip), COUNT(*)
FROM tips
GROUP BY day;
看出平均小费,在周五,周六和周日,数据中只有周五到周日的数据 ,这样看数据是不完整的
tip day
day
Fri 2.734737 19
Sat 2.993103 87
Sun 3.255132 76
Thur 2.771452 62
查看SQL
SELECT smoker, day, COUNT(*), AVG(tip)
FROM tips
GROUP BY smoker, day;
tip
size mean
smoker day
No Fri 4 2.812500
Sat 45 3.102889
Sun 57 3.167895
Thur 45 2.673778
Yes Fri 15 2.714000
Sat 42 2.875476
Sun 19 3.516842
Thur 17 3.030000
总结
pandas如何转换为SQL 都了解一下,其实很重要的工具