第四章:变形
本章问题与练习未仔细做,遇到困难有点却步
问题
【问题一】 总结变形函数它们各自的使用特点。
pivot:速度较快
pivot_table:参数更多,功能更多
crosstab:便于统计频数
melt:功能比较全
stack:效率高
【问题二】 变形函数和多级索引是什么关系?哪些变形函数会使得索引维数变化?具体如何变化?
pivot_table
【问题三】 请举出一个除了上文提过的关于哑变量方法的例子。
pd.get_dummies(df_d[['Class','Gender']]).join(df_d['Weight'])
【问题四】 使用完stack后立即使用unstack一定能保证变化结果与原始表完全一致吗?
不能保证
【问题五】 透视表中涉及了三个函数,请分别使用它们完成相同的目标(任务自定)并比较哪个速度最快。
【问题六】 既然melt起到了stack的功能,为什么再设计stack函数?
melt里面参数过多,功能更多,有更多选择打包的方式;stack仅有两个参数,在打包方式不需要多复杂时可以使其效率更快。
练习
一:
(a)
import pandas as pd
import numpy as np
df=pd.read_csv('C:/Users/76709/Desktop/4.18组对学习pandas/joyful-pandas-master/data/Drugs.csv')
df
pd.pivot_table(df,index=['State','COUNTY','SubstanceName'],columns='YYYY',values='DrugReports').reset_index()
(b)
自己未摸索出来
二:
(a)
import pandas as pd
import numpy as np
df=pd.read_csv('C:/Users/76709/Desktop/4.18组对学习pandas/joyful-pandas-master/data/Earthquake.csv')
df
pd.pivot_table(df,index=['日期','时间','维度','经度'],columns='方向',values=['烈度','深度','距离']).stack(0).rename_axis(index={None:'地震参数'})
(b)
自己未解决