Pandas的用法

1.创建二维数组的几种方法

方法1:通过列表创建

DataFrame对象里包含两个索引,行索引(0轴,axis=0),列索引(1轴,axis=1)

复制代码
import pandas as pd
import numpy as np

li = [
    [1,2,3,4],
    [2,3,4,5]
]
# DataFrame对象里包含两个索引,行索引(0轴,axis=0),列索引(1轴,axis=1)
d1=pd.DataFrame(data=li,index=['A','B'],columns=['views','loves','comments','tranfers'])
print(d1)
复制代码

方法2:通过numpy对象创建

nupy=np.arange(8).reshape(2,4)
d2=pd.DataFrame(data=nupy,index=['A','B'],columns=['views','loves','comments','tranfers'])
print('方法2:\n',d2)

 

 方法3:通过字典的方式创建

dict = {
    'views':[1,2,],
    'loves':[2,3,],
    'comments':[3,4,]
}
d3=pd.DataFrame(data=dict,index=['蓝队','红队'])
print("方法3:\n",d3)

 

 2.按索引创建二维数组

# 行索引
dates=pd.date_range(start='today',periods=6)
# 数据
data_arr = np.random.randn(6,4)
# 列索引
columns = ['A','B','C','D']
d4 = pd.DataFrame(data_arr,index=dates,columns=columns)
print('索引:\n',d4)

 

 练习:

# 建立一个以2021年每一天作为索引,值为随机数
dates=pd.date_range(start='1/1/2021',end='12/31/2021',freq='D')
datas=np.random.randn(len(dates))
s1=pd.Series(datas,index=dates)
print("练习:\n",s1[:3])

 

 

DataFrame的基本操作

数据:

 

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

narr = np.arange(8).reshape(2,4)
#DataFrame对象里包含两个索引,行索引(0轴,axis=0),列所索引(1轴,axis=1)
d2 = pd.DataFrame(data=narr,index=['A','B'],columns=['views','loves','comments','tranfers'])
print("数据:\n",d2)

1.查看基础属性

print('获取行数和列数\n',d2.shape) # 获取行数和列数
print('列数据类型\n',d2.dtypes) # 列数据类型
print('获取数据的维度\n',d2.ndim) # 获取数据的维度
print('行索引\n',d2.index) # 行索引
print('列索引\n',d2.columns) # 列索引
print('对象的值\n',d2.values,type(d2.values)) # 对象的值,二维ndarry数组

 

 2.数据整体状况的查询

print("头部\n",d2.head(1)) # 显示头部的几行,默认5行
print("尾部\n",d2.tail(1)) # 显示尾部的几行,默认5行
print("分隔符".center(50,'=')) # 显示信息的预览:行数,列数,列类型,内存占用 print(
"info:",d2.info()) print("统计:".center(50,'*')) # 快速综合用计结果:计数,均值,标准差,最小值,1/4位数,中位数,3/4位数,最大值; print(d2.describe())

 

 3.转置

print("转置操作:\n,d2.T)

 

 4.按列进行排序

按照指定列进行排序, 默认是升序, 如果需要降序显示,设置ascending=False;

print('按列进行排序\n',d2)
print('按指定的列进行降序排序:\n',d2.sort_values(by="views",ascending=False))

 

 5.切片及查询

print('可以实现切片,但是不能索引\n',d2[:1]) # 可以实现切片,但是不能索引
print('1\n',d2['views']) # 通过标签查询,获取单列信息
print('2\n',d2.views) # 和上面的查询方式等价
print('标签查询多列信息\n',d2[['views','comments']]) # 通过标签查询多列信息

 

 6.通过类似索引方式查询

iloc(通过位置进行行数据的获取)

loc(通过标签索引行数据)

print(d2)
print('iloc(通过位置进行行数据的获取\n)',d2.iloc[0])
print(d2.iloc[-1:])
print('loc(通过标签索引行数据\n)',d2.loc["A"])

 

 7.更改pandas的值

 

posted @   明明就-  阅读(150)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示