如何用本机电脑做网站服务器,东莞做网站公司首选!,建筑设计适合的电脑,app软件开发摄像头对于 Pandas#xff0c; 接触过 Python 数据处理的小伙伴们都应该挺熟悉的#xff0c;做数据处理不可或缺的一个程序包#xff0c;最大的特点高效#xff0c;本篇文章将通过案例介绍一下 Pandas 的一些基础使用#xff01;1#xff0c;读入数据大部分数据都可以用 read_c…对于 Pandas 接触过 Python 数据处理的小伙伴们都应该挺熟悉的做数据处理不可或缺的一个程序包最大的特点高效本篇文章将通过案例介绍一下 Pandas 的一些基础使用1读入数据大部分数据都可以用 read_csv() 函数读入函数中有个 sep 参数表示数据的分隔符默认为 “” (因为大部分 csv 文件数据之间就是以 隔开的)users pd.read_csv(https://raw.githubusercontent.com/justmarkham/DAT8/master/data/u.user,sep |)# Read data;
users
原始数据读取之后的数据除了 read_csv 之外还有一个常用的 read_table函数也可进行读取操作用法与 read_csv 相似2改变索引值只展示前几行数据set_index() 函数用来改变索引值注意需要加一个参数 replace True 表示替代 利用 head(n) 函数表示只展示前 n 行数据users.set_index(user_id,inplace True)
users.head(25)
tail(n) 只展示后几行数据3查看数据的行和列的基本信息1shape 返回 数据的行数和列数以 tuple 形式返回users.shape# (943, 4)
2columns 返回数据列名users.columns# Index([age, gender, occupation, zip_code], dtypeobject)
3index 返回行名users.indexInt64Index([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,...934, 935, 936, 937, 938, 939, 940, 941, 942, 943],dtypeint64, nameuser_id, length943)
4dtypes 返回各列的数据类型users.dtypes# age int64
gender object
occupation object
zip_code object
dtype: object
4只选取某列或多列数据Pandas 提供多种方式可供选择注users 表示 Pandas 可处理的DataFrame 格式; 1users.列名users.occupation
2users[[列名]]users[[occupation]]
3users.loc[:,[列名]]users.loc[:,[occupation]]
同时选取多列数据时1users[[列名1,列名2]]users[[occupation,age]]
2users.loc[:,[列名1,列名2]];users.loc[:,[occupation,age]]
5对列中数据做去重统计1列名.nunique() 查看某一列数据有多少个不重复样本users.occupation.nunique()# 21
也可以通过这种方式实现列名.value_counts().count()users.occupation.value_counts().count()# 21
如果想在1 的基础之上查看每一个不重复样本在数据列表冲出现了几次可用下面语句users.列名.value_counts()users.occupation.value_counts().head()# student 196
other 105
educator 95
administrator 79
engineer 67
Name: occupation, dtype: int64
6对数据列表中的数字列做个简单统计users.describe() 即可实现默认统计的是 numeric columns(列中数据都是以数值进行展示的)users.describe()
当然也可以统计全部列加一个参数 include all;users.describe(include all)
users.列名.describe() 也可以对指定列进行统计users.occupation.describe()#count 943
unique 21
top student
freq 196
Name: occupation, dtype: object
7对数据做组聚类groupby 函数对某一列做聚类操作返回的是 GroupBy 对象与 5 中方法相似区别是 groupby 是以聚类后的列为参照查看其他列的数据统计情况c users.groupby(occupation)
c# pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000017673002788
GroupBy.head(n) 查看前 n 行数据c.head(5)
GroupBy.cout() 对每个样本对应其他列进行数据统计c.count()
GroupBy.size() 统计列中每个样本出现次数c.size()
还有其它许可操作的函数详细的可去官网上查询https://pandas.pydata.org/docs/reference/groupby.html8对数据按照某一列进行排序用到 data.sort_values() 函数默认从小到大可以设置 ascending False 设置为从大到小users.sort_values([age],ascending False)
也可以参考多个列进行排序users.sort_values([age,zip_code],ascending False)
9创建新的列加入新的列比较简单创建一个 Series (行数需与原列表数据行数保持一致)赋值到源数据即可data[列名] 新创建的 series下面我利用对 age 中数据进行均一化把数据存放在新的列 age_normalize 中10删除指定列用 drop() 函数可删除源数据中的指定列users.drop([age],axis 1)
这里的 axis 代表指定要删除的是行还是列默认为00代表的是行1代表的是列也可以直接用下面命令users.drop(columns [age])