pandas 高级使用

pandas 高级使用

1.pandas操作csv文件

import numpy as np
import pandas as pd

df = pd.DataFrame(data = np.random.randint(0,50,size = [50,5]), columns=['A','B','C','D','E'])
# 保存到当前路径下,⽂件命名是:test.csv。csv逗号分割值⽂件格式
df.to_csv('./test.csv',
	sep = ';', # ⽂本分隔符,默认是逗号
	header = True,# 是否保存列索引
	index = True) # 是否保存⾏索引,保存⾏索引,⽂件被加载时,默认⾏索引会作为⼀列

# 加载
pd.read_csv('./test.csv',
	sep = ';', # 默认是逗号
	header = [0], # 指定列索引
	index_col=0) # 指定⾏索引

pd.read_table('./test.csv', # 和read_csv类似,读取限定分隔符的⽂本⽂件
	sep = ';',
	header = [0], # 指定列索引
	index_col=1) # 指定⾏索引,A作为⾏索引

2.pandas操作excel文件

下载安装相关包

pip install xlrd -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install xlwt -i https://pypi.tuna.tsinghua.edu.cn/simple

pandas读取和写入excel文件

import numpy as np
import pandas as pd

df1 = pd.DataFrame(data = np.random.randint(0,50,size = [50,5]), columns=['a','b','c','d','e'])
df2 = pd.DataFrame(data = np.random.randint(0,50,size = [150,3]), columns=['Python','Tensorflow','Keras'])

# 保存到当前路径下,⽂件命名是:test.xls
df1.to_excel('./test.xls',
			sheet_name = 'test',# Excel中⼯作表的名字
			header = True,# 是否保存列索引
			index = False) # 是否保存⾏索引,保存⾏索引
# 读取excel文件			
pd.read_excel('./test.xls',
			sheet_name=0,# 读取哪⼀个Excel中⼯作表,默认第⼀个
			header = 0,# 使⽤第⼀⾏数据作为列索引
			names = list('ABCDE'),# 替换⾏索引
			index_col=1)# 指定⾏索引,B作为⾏索引

# ⼀个Excel⽂件中保存多个⼯作表
with pd.ExcelWriter('./data.xlsx') as writer:
	df1.to_excel(writer,sheet_name='test',index = False)
	df2.to_excel(writer,sheet_name='score',index = False)
	
pd.read_excel('./data.xlsx', sheet_name='test') # 读取Excel中指定名字的⼯作表

3.pandas与mysql交互

下载安装mysql相关包

pip install sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
import pandas as pd
from sqlalchemy import create_engine

df = pd.DataFrame(data = np.random.randint(0,50,size = [150,3]), columns=['Python','Tensorflow','Keras'])
# SQLAlchemy是Python编程语⾔下的⼀款开源软件。提供了SQL⼯具包及对象关系映射(ORM)⼯具
# 数据库连接 
# 'mysql+pymysql://用户名:密码@主机名或IP地址:端口/库名称?charset=utf8'
# https://docs.sqlalchemy.org/en/13/core/engines.html
engine = create_engine('mysql+pymysql://root:123456789@localhost/pandas?charset=utf8')
# 保存到数据库
df.to_sql('score',#数据库中表名
		engine,# 数据库连接
		if_exists='append')#如果表名存在,追加数据
# 从数据库中加载
pd.read_sql('select * from score limit 6', # sql查询语句
			engine, # 数据库连接
			index_col='Python') # 指定⾏索引名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾自由

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值