Pandas是Python中一个非常强大的数据处理库,它提供了快速、灵活且表达式丰富的数据结构,旨在使“关系”或“标签”数据的处理工作变得既简单又直观。Pandas的两个主要数据结构是Series(一维数组)和DataFrame(二维的、表格型的数据结构)。以下是一些Pandas基础函数和使用和总结。
cmd指令下:
创建conda环境:conda create -n env_name python=3.12.4
进入环境:conda activate env_name
#退出环境:conda deactivate
安装numpy和pandas:
pip install numpy
pip install pandas
导入numpy和pandas两个库:
import numpy as np
import pands as pd
pandas内置函数:#使用编程进行Excel表格操作
显示csv数据表:
相对路径载入数据:
df = pd.read_csv(‘./train.csv’)
绝对路径载入数据:
df = pd.read_csv(r‘D:\.mycode\pandas入门\train.csv’)
将csv数据分块:chunker = pd.read_csv(‘./train.csv’,chunksize=10)
逐块读取:for i in chunker:
print(i)
读取函数的其中一个参数names代表表头,修改时以列表形式输入,输入循序为倒序:
df.=pd.read_csv(‘train.csv’,names=[‘乘客ID’,’是否幸存’,’仓位等级’,‘姓名’,’性别’,’年龄’,’兄弟姐妹个数’])
查看数据基本信息:df.info()
查看前10行数据:df.head(10)
查看后15行数据:df.tail(15)
查看前5行数据项是否为空, 为空则返回Ture,其余返回False:df.isnull().head(5)
将修改后的数据变量保存:
df.to_csv(‘train_chinese.csv’)
pandas有两个数据类型:
DataFrame和Series # 其中DataFrame支持表格化展示数据
查看变量名为sdata的数据类型为Series的变量情况:
(所谓的查看就是用变量储存数据并展示)
example_1 = pd.Series(sdata)#将变量sdata储存到变量Example_1中
example_1#展示数据
查看变量名为data的数据类型为DataFrame的变量情况:
(所谓的查看就是用变量储存数据并展示)
example_2 = pd.DataFrame(data)#将变量data储存到变量Example_2中
example_2#展示数据
查看每列的名称:
df.columns
查看‘cabin’这列的前三项值:
- df[‘cabin’].head(3)
- df.cabin.head(3)
test1变量接收test_1.csv表格:
test1 = pd.read_csv(‘test_1.csv’)
删除变量test1中的‘a’列:del test1 [‘a’]
展示test1表格的前三行:test1.head(3)
隐藏某些列元素并展示前三行:df.drop([‘PassengerId’,’Name’,’Age’,’Ticket’],axis=1).head(3)
要展示删除后的表格还需要将上面代码赋值给变量并展示
筛选:以’Age’为条件,显示年龄在10岁以下的乘客信息:
df[df[‘Age’]<10].head(3)
筛选:以’Age’为条件,显示年龄在10岁以上且50岁以下的乘客信息:
midage = df[(df[‘Age’]>10)&(df[‘Age’]<50)]# 赋值
midage.head(3)#展示
只展示midage数据的第100行的‘Pclass’和’Sex’数据:
midage.loc[[100],[‘Pclass’,’Sex’]]# 追踪显示对应行上的列表内内容
midage.loc[[100,105,108],[‘Pclass’,’Name’,’Sex’]]#行数列名检索
使用iloc方法执行上述操作:
#‘Pclass’,’Name’,’Sex’在变量中分别为2,3,4列
midage.iloc[[100,105,108],[2,3,4]]#行列均采用数坐标检索
numpy:#构建矩阵
构建2X4矩阵,使用DataFrame类型的变量frame接收:
frame = pd.DataFrame(np.arange(8).reshape((2,4)), # 用0-7填充数据项
index=[‘2’, ’1’],#指定列标题为’2’, ’1’
columns=[‘d’,’a’,’b’,’c’]#指定行标题为’d’,’a’,’b’,’c’)
frame
根据‘c’列做升序值排序:
frame.sort_values(by=’c’,ascending=False)
行索引升序排序:frame.sort_index()
列索引升序排序:frame.sort_index(axis=1)
列索引降序排序:frame.sort_index(axis=1,ascending=False)
选择‘a’和‘c’两行进行降序排序:
frame.sort_values(by=[‘a’,’c’],ascending=False)
选择‘票价’和‘年龄’综合排序:
text.sort_values(by=[‘票价’,’年龄’],ascending=False)
DataFrame类型变量相加:
frame1_a+frame1_b
#行列标题均一致的数据项相加
#返回新的DataFrame类型数据
#有行列标题无法匹配时,该数据项返回NaN
计算泰塔尼克号船上最大的家族有多少人(兄弟姐妹+父母子女):
max(text[‘兄弟姐妹个数’]+text[‘父母子女个数’])
#先做两个DataFrame类型数据的求和,再找出最大数据项
构建DataFrame类型数据frame2:#自赋值
frame2 = pd.DataFrame([[1.4, np.nan],
[7.1, -4.5],
[np.nan, np.nan]
[0.75,-1.3]
], index=[‘a’,’b’,’c’,’d’], columns=[‘one’, ‘two’])
frame2
调用describe函数观察基本信息:
‘’‘
列标题注释:
count:样本数据大小 mean:样本数据的平均值 std:样本标准差
min:样本数据的最小值 25%:样本数据25%的时候的值
50%,75%,max等自行类比
‘’’
frame2.describe()
#调用后会对frame2进行数据处理, 求出以上8个数值,构建新的DataFrame类型数据并展示
describe的单列调用:
text[‘票价’].describe()
text[‘父母子女个数’].describe()
作者正在学习的以上函数和方法,是 Pandas 强大功能的入门级学习。Pandas 的设计使得数据处理和分析变得更加简单和高效。在实际应用中,可以根据具体需求选择合适的函数来处理数据。