动手学数据分析3
全部参考 datawhale-动手学数据分析
探索性数据分析,开始前导入numpy和pandas
import numpy as np
import pandas as pd
print(pd.__version__)
1.0.3
df = pd.read_csv('train_chinese.csv')
df.head()
利用Pandas对示例数据进行排序
df.sort_index() # 让行索引升序排序
df01.sort_index(axis = 1) # 让列索引升序排序
df01.sort_index(axis=1, ascending=False) # 让列索引降序排序,ascending=True为升序
df01.sort_values(by=['a', 'c']) # 让任选两列数据同时降序排序
对泰坦尼克号数据(trian.csv)按票价和年龄两列进行综合排序(降序排列)
df.sort_values(by=['票价', '年龄'],ascending=False).head()
利用Pandas进行算术计算
- 两个DataFrame相加后,会返回一个新的DataFrame,对应的行和列的值会相加,没有对应的会变成空值NaN。
通过泰坦尼克号数据如何计算出在船上最大的家族有多少人
max(df['堂兄弟/妹个数']+df['父母与小孩个数']) # 10
Pandas describe()函数
分别看看泰坦尼克号数据集中 票价、父母子女 这列数据的基本统计数据
df['父母与小孩个数'].describe()
# count 891.000000
# mean 0.381594
# std 0.806057
# min 0.000000
# 25% 0.000000
# 50% 0.000000
# 75% 0.000000
# max 6.000000
# Name: 父母与小孩个数, dtype: float64
【思考】从上面数据我们可以看出, 一共有891个人数据, 平均值约为:0.3, 标准差约为0.8,说明波动不大, 至少75%的人没有父母小孩, 拥有父母小孩最大值约为6,最小值为0。
df['票价'].describe()
# count 891.000000
# mean 32.204208
# std 49.693429
# min 0.000000
# 25% 7.910400
# 50% 14.454200
# 75% 31.000000
# max 512.329200
# Name: 票价, dtype: float64
【思考】从上面数据我们可以看出, 一共有891个票价数据, 平均值约为:32.20, 标准差约为49.69,说明票价波动特别大, 25%的人的票价是低于7.91的,50%的人的票价低于14.45,75%的人的票价低于31.00, 票价最大值约为512.33,最小值为0。