目前pandas最新版本1.0.3
文件读取和写入
读取
pandas 能读取csv ,txt ,xls或者xls格式的文件。
写入
pandas 能写入csv ,xls或者xls格式的文件。
基本数据结构
Series
对于一个Series,其中最常用的属性为值(values),索引(index),名字(name),类型(dtype)
DataFrame
就是表
常用基本函数
head和tai、unique和nunique、count和value_counts、describe和info、idxmax和nlarges(idxmax函数返回最大值,在某些情况下特别适用,idxmin功能类似;nlargest函数返回前几个大的元素值,nsmallest功能类似)、clip和replace(clip和replace)、apply(后加匿名函数)
排序
索引排序
表.set_index(‘索引’).head()
值排序
表.sort_values(by=‘Class’).head()
问题
【问题一】 Series和DataFrame有哪些常见属性和方法?
Series属性为值(values),索引(index),名字(name),类型(dtype)
Series方法有Series.values 返回值;Series.name 返回命名;Series.index返回索引;Series.dtype 返回数据类型;Series[‘a’]返回a的值;Series.mean()返回平均数等
DataFrame的属性有列和索引,与表格相同
DataFrame的方法有常用方法为统计数据,描述数据有describe和info、idxmax和nlarges(idxmax函数返回最大值,在某些情况下特别适用,idxmin功能类似;nlargest函数返回前几个大的元素值,nsmallest功能类似)、groupby等
【问题二】 value_counts会统计缺失值吗?
可以
【问题三】 与idxmax和nlargest功能相反的是哪两组函数?
nsmallest():返回最小的数
idxmin():返回最小数的索引
【问题四】 在常用函数一节中,由于一些函数的功能比较简单,因此没有列入,现在将它们列在下面,请分别说明它们的用途并尝试使用。
sum:求和
mean: 求平均值
median: 中位数
mad: 根据平均值计算平均绝对离差
min: 最小值
max: 最大值
abs: 绝对值
std: 标准差
var: 方差
quantile: P分位数,常见为四分位
cummax: 取每一列的最大
cumsum: 每一列累加
cumprod: 对每一列累乘
diff: 一阶差分
pct_change: 百分数变化
corr: 计算列一列的相关性,不计算包括NA / null值的列
【问题五】 df.mean(axis=1)是什么意思?它与df.mean()的结果一样吗?第一问提到的函数也有axis参数吗?怎么使用?
df.mean(axis=1)是表示在列的水平方向算均值
df.mean()是表示在列方向算均值
练习一
现有一份关于美剧《权力的游戏》剧本的数据集,请解决以下问题:
(a)在所有的数据中,一共出现了多少人物?
a[‘Name’].unique()
(b)以单元格计数(即简单把一个单元格视作一句),谁说了最多的话?
a.groupby([‘Name’])[‘Sentence’].count()
(c)以单词计数,谁说了最多的单词?
df_words = df.assign(Words=df[‘Sentence’].apply(lambda x:len(x.split()))).sort_values(by=‘Name’)
练习二
b.groupby([‘action_type’,‘combined_shot_type’]).count()