winform 统计大量数据重复的元素个数_人生苦短,自学python——pandas的两类数据结构...

江湖上流传着这么一句话——分析不识潘大师(PANDAS),纵是老手也枉然。在长期的数据分析实战中我将pandas总结为”两类基本数据结构, 四类基础操作,四类难搞数据类型“。用三篇文章来介绍这三大模块,这是系列文章中的第一篇。

77b51263ff3def6baff3f605e96a06bc.png
68b0bf9026fe2592484cead7e7db563c.png

两类数据结构

1、Series

可看作是带有索引的一维数组。

(1)创建方式:pd.Series(可迭代对象)

e942a43017319a1a66080b43e68c68c9.png

(2)属性:值(value)、索引(index)、名字(name)、类型(dtype)用(.)调用

(3)索引与切片:s["a"],s["a":"c"],s[1],s[1:4]

(4)方法调用:s.mean()/std()/sum()....

2、Dataframe

可看作表格型数据结构,每一列为一个Series格式

(1)创建方法:

a、pd.DataFrame()可传入如下数据结构进行创建:

2e467cf18bc0d09a0ae1503fa7dfea41.png

b、文件读入与写出

读取:

pd.read_csv(文件路径,参数):将csv文件读为dataframe

pd.read_excel(文件路径,参数):将.xlsx文件读为dataframe

pd.read_table(文件路径,参数):将txt文件读为dataframe

pd.read_sql(sql语句,参数):将数据库表读为dataframe

6fa7c13be3d51be70200461ae1cb9570.png

写入:

dataframe.to_csv(文件路径,参数):将dataframe存为csv文件

dataframe.to_excel(文件路径,参数):将dataframe存为excel文件

(2)属性:值(values)、索引(index)、列(columns)、索引名字(index_name)、列名(columns_name)、形状(shape)类型(dtypes)用(.)引用;

aba3e441c4a65b49da413de11c604538.png

dataframe具有索引对齐性,在运算中自动取索引相同的数据进行运算,这是dataframe的一个很重要的特性。

212f956ded6994fe016424cae1f8ba29.png

3、常用函数

(1)rename:修改索引名和列名,参数为字典格式,调用实例:

df.rename(index={"a":"b"},columns={"old_col":"new_col"})

92fb8b8505e3660b2b152a54a3ef500c.png

(2)drop、del、pop:删除列的函数

将df的列“col1”删除:

del df["列名"]

df.drop("col1",axis=1) or df.drop(columns="col1")

df.pop("col1")删除col1并返回该列的值

fed5dfb31605c933914a7ec046b5b13c.png

(3)to_frame():将series转为dataframe

62d932d150606846471563eed202061c.png

(4)head和tail:显示前n行和后n行

6976de9260075f4faf376d91cfc4cbce.png

(5)unique和nunique:显示所有唯一值和唯一值的个数

c72af2b516589d4b0d4af653616581bc.png
d0eadff475b26b875eaa5f28e546d204.png

(6)duplicated和drop_duplicates:返回是否是重复值和删除重复值

538fb48685cc10a04a039ad1d1231081.png

(7) count和value_counts:返回非缺失值的个数和每个元素出现的个数

dbdce283d86456cc76ea31a97ed9e56b.png

(8)describe和info:describe默认统计数值型数据的各个统计量【均值、最值、中位数、四分位数】。info函数返回有哪些列、有多少非缺失值、每列的类型

413a49485eb488e98d1a833941ab6cac.png
587e47818f032588ab6dac65e6bd8fdb.png

(9)idxmax和nlargest:返回最大值所在的索引和返回前n大的元素值

16e8a2a75232a26490f55f1d909b2a4f.png
8c31954736864c17598ba6ea57e2e922.png

(10)clip和replace:对超过或者低于某些值的数进行截断和对某些值进行替换

4845338dcb4abe6609c66a561b2fdf4d.png

(11)apply和map:一个高级函数,可看作对for循环的高级封装和速度优化,参数可以是映射或者函数,series调用时是对每个元素进行操作,dataframe调用时是对每个列进行操作,需要配合axis参数。map函数是对每个元素进行操作

bd15d4ec3c9bcd0572e7a6060ecbc1d6.png

(12)sort_index和sort_values:按照索引进行排序和按照列【可以是多个列】进行排序

183adbefe3414e2212bfe617bfa08f2d.png
840fcf6c91190e710090a9da7ae3311f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值