Pandas的基本使用和实际案例

Pandas的基本语法

Series对象创建

import pandas as pd
data=pd.Series([4,3,5,6,1])
data

在这里插入图片描述

指定前面的index序列

data=pd.Series([5,4,6,3,1],index=['one','two','three','four','five'])

在这里插入图片描述
使用list 列表指定index

data=pd.Series([4,3,2,1],index=list('abcd'))

在这里插入图片描述

DataFram对象的创建

population_dict={'beijing':3000,'shanghai':1200,'guangzhou':1800}
area_dict={'beijing':300,'shanghai':180,'guangzhou':200}
import pandas as pd
population_series=pd.Series(population_dict)
area_series=pd.Series(area_dict)
citys=pd.DataFrame({'area':area_series,'population':population_series})

在这里插入图片描述
1 citys.index 前面的北京上海。。。
2 citys.values (300,3000 ),(180,1200)按行取值
3 citys.columns 【area ,population】
可以用list(city.index) 等等来取出你想要的值放在列表中

Pandas的index

Pandas中的Index,其实是不可变的一维数组

ind=pd.Index([3,4,5,6,7])
#根据下标获取值
ind[3]  
#切片获取值
ind[::2]
#有ndim shap dtype size属性
#但不能进行修改
#ind[3]=20

在这里插入图片描述

浏览数据 head() tail()

#浏览前几条记录
df.head()
df.head(10)
#浏览最后几条记录
df.tail()

在这里插入图片描述
在这里插入图片描述

df.info() 查看数据的类型和数学信息

在这里插入图片描述

df.shape 看数据表有多少行,多少列

在这里插入图片描述

df.describe() 掌握数值的分布情况:均值 最值 方差

掌握数值的分布情况,即均值是多少,最值是多少,方差及分位数
在这里插入图片描述
只会计算int类型的列的结果

df.columns =[‘xxx’,‘xxx’] 修改变量列(表头)

在这里插入图片描述

筛选变量列 df[“age”]

在这里插入图片描述

删除变量列 df.drop(columns =[‘age’]).head()

在这里插入图片描述

添加变量列

几种方法都可以

df[cloumn] = pd.Series([val,val2,val3],index=[c1,c2,c3])
df["xxx"]=[a,b,c,d,e,f,...]
df[cloumn] = df[c2]+df[c3]

df.dtypes :査看各列的数据类型

在这里插入图片描述

修改某一列数据的数据类型 df.column.astype (‘str’)

在这里插入图片描述

将索引全部还原为变量 df.reset_index ()

在这里插入图片描述

删除 index 列 df.reset_index (drop=True)

在这里插入图片描述

索引和切片

Series的索引和切片

索引

在这里插入图片描述

切片

import numpy as np
import pandas as pd
data=pd.Series([4,3,25,2,3],index=list('abcde'))
print(data)
print(data['a':'d'])
print(data[2:4]) #索引切片
print(data[-3:-1])
print(data[data>3])

在这里插入图片描述

loc 与 iloc

data=pd.Series([5,3,2,5,9],index=[1,2,3,4,5])
print(data)
print(data.loc[1]) # 取序列1对应的数
print(data.iloc[1]) # 取值的第二个 

在这里插入图片描述

DataFrame的索引和切片

索引

#获取一列
df[col]
#获取多列
df[[col1 , col2]]

在这里插入图片描述

import numpy as np
import pandas as pd
data=pd.DataFrame(np.arange(12).reshape(3,4),
index=list('abc'),columns=list('ABCD'))
print(data)
#获取行为'b'的行
print(data.loc['b'])
#使用iloc获取,行为'b'的行,行号为1
print(data.iloc[1])

在这里插入图片描述
在这里插入图片描述

df.isin(values) 返回结果为相应的位置是否匹配给出的 values

1 df.col.isin([1,3,5])
2 df[ df.col.isin([1,3,5])]
3 df[ df.col.isin(['val1','val2'])]
4 df[ df.index.isin(['val1','val2'])]

query()选择满足条件的值

df.query("col>10 and col<90 and col1=val")

用变量值排序sort()

在这里插入图片描述
这里就可以使用reset_index
在这里插入图片描述

pd导入文件

使用Pandas模块操作Excel时候,需要安装openpyxl

import pandas as pd
pd.read_excel('stu_data.xlsx')
# 指定哪个sheet名字
pd.read_excel('stu_data.xlsx',sheet_name='Target')
pd.read_excel('stu_data.xlsx',sheet_name=0)
# 导入csv文件
pd.read_csv('stu_data.csv',encoding='gbk')
pd.read_table('test_data.txt',encoding='utf-8',sep='\t')
# 读数据时建立一个索引
df = pd.read_csv ("filename",index_col="column”)

这些都是读入文件的方法 但是都需要使用变量来进行接收 都是DataFram的格式

pd导出文件

# 不需要index 就是datafram形式直接保存 不带前面的index索引
df2.to_excel('temp.xlsx', index = False,sheet_name = data)
df2.to_csv('temp.csv', index = False,sheet_name = data)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

辣子不辣,英语不难

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

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

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

打赏作者

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

抵扣说明:

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

余额充值