Python学习笔记(15)——数据分析利器:numpy和pandas库的应用之Excel工作簿等文件的读取与写入、数据的读取与编辑等基本操作

这段内容展示了如何使用Python的pandas库进行数据的读写、编辑、筛选、排序和运算。通过创建DataFrame,读取Excel和CSV文件,提取特定列和行,进行数据运算如列的差值计算,以及数据筛选和排序,展现了pandas的强大功能。

代码练习:

import pandas as pd
import numpy as np
#文件的写入
#data=pd.DataFrame([[1,2],[3,4],[5,6]],columns=['A列','B列'])#先创建一个DataFrame
#data.to_excel('data01.xlsx')#将DataFrame中的数据写入Excel工作簿(已运行成功,重复运行会出错)
#data.to_excel('data02.xlsx',columns=['A列'],index=False)(已运行成功,重复运行会出错)
#文件的读取
#data=pd.read_excel('data.xlsx',sheet_name=0,encoding='utf-8')#读取EXCEL文件,data为DataFrame结构,sheetname指定工作表,此处是第一个工作表。编码为utf-8
#data01=pd.read_csv('data.csv',delimiter=',',encoding='utf-8')#读取csv文件,delimiter参数用于指定CSV文件中的分隔符,默认逗号
#print(data)
#数据的读取与编辑——按照行提取
#data03=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],index=['r1','r2','r3'],columns=['c1','c2','c3'])#方法一
data03=pd.DataFrame(np.arange(1,10).reshape(3,3),index=['r1','r2','r3'],columns=['c1','c2','c3'])#方法二
a=data03['c1']#读取c1列,返回一维的series类型的数据
b=data03[['c1']]#返回二维数据
c=data03[['c1','c3']]#返回多列,[]中指定列表
d=data03[1:3]#按照行读取数据
h=data03.iloc[1:3]#pandas库推荐用iloc方法根据行序号读取数据,直观
g=data03.iloc[-1]#读取单行,需用iloc
e=data03.head(2)#通过loc读取头两行
f=data03.loc[['r2','r3']]#loc根据行名称读取
#数据的读取与编辑——按照区块读取数据
i=data03[['c1','c3']][0:2]#取第一道第三行,c1和c3列数据
j=data03.iloc[0:2][['c1','c3']]#采用iloc取第一道第三行,c1和c3列数据
k=data03.iloc[0]['c3']#取data03的第一行,c3列的值
l=data03.loc[['r1','r2'],['c1','c3']]#loc方法使用字符串作为索引
m=data03.iloc[0:2,[0,1,2]]#使用数字作为索引
#数据的运算
data03['c4']=data03['c3']-data03['c1']#通过c3列-c1列得出c4列数据,并创造新的一列写入
data03.head()#输出前5行,若少于5行则全部输出
print(data03)
#数据的筛选
n=data03[data03['c1']>1]#筛选出c1列中数字大于1的行
o=data03[(data03['c1']>1)&(data03['c2']==5)]#筛选出c1列中数字大于1的行和c2数字等于5行
#数据的排序
p=data03.sort_values(by='c2',ascending=False)#by参数用于指定根据c2列来排序,ascending参数为上升的意思,默认为true,false为降序
q=data03.sort_index(ascending=False)#根据行索引进行排序
#数据的删除
#DataFrame.drop(index=None,columns=None,inplace=False)#index用于指定删除的行,columns用于指定更要删除的列,inplace默认为False,表示该删除操作不改变原表格,而是返回一个执行后的新DataFrame
r=data03.drop(index=['r1'],columns=['c1'],inplace=False)
print(r)

运行结果:截取部分,具体操作全部print可得到

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值