pandas与numpy和matplotlib为python数据分析基础包,又称数分三剑客。
对于我来说,使用这个Pandas库是为了做数据的可视化,用于将业务运营数据做一个展现,特在此学习该库。好了,话不多说,开始进入库学习环节。
# 安装Pandas模块
pip install pandas
# Series
series是一个一维数组,线性的数据结构
## 导入Pandas模块
import pandas as pd
## 创建series(默认索引)
s1 = pd.Series(['1','2','3','4'])
## 创建series(自定义索引)
s2 = pd.Series([1, 2, 3, 4, 5], index = (['a', 'b', 'c', 'd', 'e']))
## 直接获取值
print(s3.values)
## 根据索引获取值
print(s3[0:3])
## 用字典来构建一个series数据
s3_dict = {"whoami":"root"} s3 = pd.Series(s3_dict)
# DataFrame
## 创建一个DataFrame(默认索引)
data1 = { 'users':['root', 'admin', 'hundsun'], 'type':['A', 'B', 'C'] } d1 = pd.DataFrame(data1)
## 创建一个DataFrame(自定义索引)
d2 = pd.DataFrame(data1, index=['00', '01', '03'])
## 获取值 print(d2.values) ## 获取某一列Series数据 a = df1.A # 或者写成 df1['A'] ## 获取前两行行数据 print(df1[0:2]) ## 通过标签获取数据 df1.loc['A'] (行) df1.loc['A',['1','2']] (行和列) ## 获取行索引 print(d2.index) ## 获取列索引 print(d2.columns) ## 获取行及列的索引值 print(d2.axes) ## 获取转置 print(d2.T)
## 获取统计变量
print(d2.describe())
type users
count 3 3
unique 3 3
top B hundsun
freq 1 1
Python
## 根据行、列、值进行排序
print('--------行排序-------') print(d2.sort_index(axis=0)) print('--------列排序-------') print(d2.sort_index(axis=1)) print('--------值排序(对33列里的值进行排序)-------') print(d2.sort_values(by='users'))
## 创建一个dataframe(以日期为索引)
dates = pd.date_range('20240630', periods=3) d3 = pd.DataFrame(data1, index=dates)
# DataFrame中插入数据
## 插入Series数据
方式一;通过DataFrame索引插入方式
d3['F'] = pd.Series(['1', '2', '3', '4', '5', '6'], index=dates) (新插入F列)
方式二;通过DataFrame的append方式(行操作)
app1 = pd.Series([1, 2, 3, 4], index=['A', 'B', 'C', 'D']) (设置Series数据)
app1.name = 'new' (设置行名)
d3_1 = d3.append(app1) (插入数据)
方式三;通过DataFrame的insert方式(列操作)
d3.insert(2, 'E', [1, 2, 3, 4, 5, 6])
# pandas 文件操作
## 读取csv文件
file = pd.read_csv('csv文件的路径', encoding='编码格式') # 编码格式如gbk,utf-8等
## 写入文件
file.to_csv('文件要保存到的路径')