Pandas 学习 数据 读入 筛选 数据格式 强制转换 排序 实践

导入桌面的csv文件

pandas的数据格式一共有两种

1、dataframe

2、series

实际上我的理解是series是特殊的dataframe,所以掌握dataframe实际上是最好的。。。

import pandas as pd
import numpy as np

df=pd.read_csv(open('/Users/gaohua/Desktop/gaoli.csv',
                    'r',encoding='utf-8'),sep=',',
               names=['subject','num','school','grade'])
#读取CSV,列名分别是。。。,为只读,编码为“utf-8”
df=df.sort_values(by=["grade"],ascending=False)#按照grade列进行排序,排序方式为逆序,这里的按照grade列来排序并不是按照数字的大小来进行排序的,而是按照对象的“str”来进行排序的,但是两者的输出结果完全一样


 

 

进行后续的数据处理的话,发现第一行是多余的,将其进行删除,为来后续的检索和数据计算,这里使用强制转换的方式,将其转换为float

df1=df.drop(0)#删去第一行
df1["grade"]=df1["grade"].astype(float)#grade列的格式强制转换
df2=df1[(df1.grade<497)&(df1.grade>495)]#按照数据的大小进行筛选
df2

输出的结果如下:

最后就是非常有用的在一个表中找出包含一个列表的所有的项目的数据

 

最后整理出一些所有的pandas常用库的方法:

 

 

生成dataframe
import numpy as np
import pandas as pd

导入csv文件或者xlsx文件

df=pd.read_csv(path,encoding='utf-8',sep=',',name=['创建的列名'])

数据表的信息查看

维度查看
df.shape

数据表基本信息查看(维度,列名,数据格式,所占空间)
df.info()

每一列数据的格式
df.dtypes

某一列格式:
df['B'].dtype

空值的检索
df.isnull()

查看某一列空值
df['B'].isnull()

查看数据表的值
df.values()


查看列名称
df.columns

查看前后十行的数据
df.head()

数据表的清洗

用数字0来填充空值
df.fillna(value=0)

使用一列的均值来对列中的空值进行填充
df['prince'].fillna(df['prince'].mean())



关于map。apply。applymap函数的理解
apply是想让一个操作进行在一个一维的向量上面
applymap是想让一个操作进行在dataframe的每一个元素
map是想让操作进行在serious的任何一个元素



大小写的转换

df['city']=df['city'].str.lower()



更改数据的格式

df['prince'].astype(int)



删除后出现的重复值
df['city'].drop_duplicates()


删除先出现的重复值
df['city'].drop_duplicates(keep=last)



数据预处理
数据表的合并

df_inner=pd.merge(df,df1,how='inner')

df_left=pd.merge(df,df1,how='left')

df_right=pd.merge(df,df1,how='right')


df_outer=pd.merge(df,df1,how='outer')


设置索引列

df_inner.set_index("id")



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值