python里面的pandas怎么用_如何在Python中使用pandas模块,python,的,方法

本文详细介绍了如何在Python中使用Pandas模块进行数据操作,包括读取文本文件、电子表格,连接MySQL数据库并读取数据,以及数据清洗的方法,如筛选、转换数据类型和去除重复行等。
摘要由CSDN通过智能技术生成

利用Pandas模块读取数据

读取文本文件

1、函数pandas.read_csv()用于读取文本文件

2、各个参数的含义:sep 用于指定每列间用什么符号隔开;skiprows 用于指定文本前面需要跳过多少行;skipfooter用于指定文本末尾需要跳过多少行;header用于指定是否有列名;names 用于指定新的列名;converters用于转换列类型,当某些列最前面的数字0无法显示时,可以用该参数转换;encoding用于当出现乱码无法显示时转换文本类型;thousands用于去掉千位符。

data2= pd.read_csv('/Users/eileen/Documents/PYlearn/datas/data2.txt',sep=' ',skiprows =0, skipfooter =0,header=None,names=['ID','name','income'], converters={'ID':str},encoding ='utf-8',thousands=',')

print(data2)

原始文件

291c3dd68fe5fdaedf410c259290be85.png

利用pandas模块输出后的表格

c100eff5a60b31c25c44902c9cdce000.png

读取电子表格

1、函数pandas.read_excel()用于读取电子表格

2、各个参数的含义:与读取文本文档的含义一样,不同的是换一个函数名称,sheet_name指定sheet页,如sheet_name =‘sheet1’ 或者 sheet_name = 1。

data2=pd.read_excel('/Users/eileen/Documents/PYlearn/datas/test2.xlsx',sheet_name =0 ,skiprows =0, skipfooter =0,header=None,names=['ID','name','income'], converters={'ID':str},thousands=',')

print(data2)

连接MySQL数据库并读取数据

1、函数pandas.read_sql()用sql 代码获取数据库中信息

2、函数pymysql.connect(), 需要提及一下charset参数,用于指定编码类型,包含中文是用‘utf-8’;对于port参数可以不用指定,因为数据库端口号通常为‘3306’。

import pymysql

bridge = pymysql.connected(host='127.0.0.1',user='eileen',password='iloveyou',database='train',port='3306',charset='utf-8')

table1=pd.read_sql('''select * from ''',con= bridge)

bridge.close()#切断与数据库的联系

其中3引号中的SQL代码可以替换为任意合法的查询代码。

数据概览

1、用于数据概览的函数和属性有:

df.head()#用于展示表的前5行数据

df.describe()#用于显示最大值、中位数和均值等,适用于非对象类型,df.describe(include=‘object’)使用于对象类型

df.shape#用于显示表的列数和行数

df.columns#用于显示列名称

df.dtypes#用于显示每列的数据类型

数据清洗

1、取出特定行数据

#df[condition,:]

data6 = data4.loc[data4['开户省']=='江苏',:]

data7 = data4.loc[(data4['开户省']=='江苏') &(data4['记账日期']=="2020-04-01"),:]

print(data7)

2、取出特定列数据

data5= data4[['充值日报', '收单方清算数', '日报-清算数', '日报笔数', '收单方日报', '日报-收单方日报', '收单方日报笔数', '日报-收单方笔数']]

3、取出特定行列数据

data8 = data4.loc[(data4['开户省']=='江苏') & (data4['记账日期']=="2020-04-01"),['收单方日报笔数', '日报-收单方笔数']]

4 、将对象类型转换为时间

data8 = pd.to_datetime[data4['记账日期'],format='%Y%M%D]]

5、去掉某列中的某些字符

data6['网点名称'] = data6['网点名称'].str[:-1]

6、转换某列的类型

data5['收单方清算数']=data5['收单方清算数'].astype(int)

7、判断标中是否有重复行

data5.duplicated()#结果为True的行为重复行

8、去掉重复行

data5.drop_duplicates(inplace=True)#默认inplace=False表示不在原数据上修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值