pandas模块

本文详细介绍了Pandas库中的数据结构,包括Series和DataFrame。讲解了如何创建、操作和查询这些数据结构,如设置索引、获取数据、添加和删除列,以及使用loc和iloc进行精确查询。同时,文中还展示了如何从字典和列表创建DataFrame,以及数据的追加操作。
摘要由CSDN通过智能技术生成

1,导包

from numpy.lib.shape_base import column_stack
import pandas as pd
import numpy as np

一:数据结构

1,序列Series
pd.Series(data,index,dtype,copy):
data:数据,可以是序列类型,可以是int
index:索引值必须是唯一的,与data的长度相同,默认为np.arange(n)
dtype:数据类型
copy:是否复制数据,默认为false
打印最左侧为索引,右侧为数据

2,数据解析

axes 返回Series索引列表
dtype 返回Series的数据类型
empty 判断Series是否为空,如果为空,则返回True
ndim 返回基础的维度数,默认为:1
size 返回基础中的元素个数
values 将Series作为ndarray返回
head() 返回前n行
tail() 返回最后n行

3,序列DataFrame

pandas.DataFrame(data,index,columns,dtype,copy)
data 支持多种数据类型。
如:ndarray, series, map, lists, dict, constant和另一个DataFrame
index 行标签,如果没有传递索引值,默认值为0,1,2,3,4,
column5 列标签,如果没有传递索引值,默认值为0,1,2,3,4,,,,
dtype 每列数据类型
copy 是否复制数据,默认值为False

4,字典

字典 = {k:v}
k:在Series中是index
d1 = {“zs”:18,“ls”:20}
s3 = pd.Series(d1)
print(s3)
print(s3[“zs”])
a = [18,20]
s4 = pd.Series(a,index=[“zs”,“ls”])
“”"
zs 18
ls 20
dtype: int64
18

5,语法:s1[index] 获取单个数据

可以使用默认索引,也可以使用自定义索引
d1 = {“zs”:20,“ls”:30,“ww”:40,“ch”:20,“zl”:30}
s1 = pd.Series(d1)
print(d1[“zs”]) #使用自定义索引 20
print(s1[0]) #使用默认索引 20

6,语法

s1[list] 获取索引中的数据
s1[index1:index2] 获取从第一个索引到第二个索引的数据,左开右闭
数字索引是左开右闭,标签索引是左开右开
print(s1[0:3]) #左开右闭

7,索引/切片

head(n)返回前n行(观察索引值),默认数量5,可以传递自定义数值
tail(n)返回最后n行(观察索引值),默认数值为5,可以传递自定义数值
“”"
“”"
print(s1.axes)
print(s1.dtype)
print(s1.empty)
print(s1.ndim)
print(s1.size)
print(s1.values)
print(s1.head(3))
print(s1.tail(3))
“”"

8.利用双层list

x = [
[‘zs’,20],
[‘ls’,30],
[‘ch’,40]
]
df2 = pd.DataFrame(x,columns=[‘name’,‘age’])
print(df2)
‘’’
name age
0 zs 20
1 ls 30
2 ch 40
‘’’

9.利用数据是字典的列表创建

‘’’
1.k变成列标签
2.没有数据的用NaN
‘’’
x = [
{‘a’:1,‘b’:2},
{‘a’:10,‘b’:20,‘c’:30}]
#index 行索引 columns列索引
df3 = pd.DataFrame(x)
print(df3)

10;利用字典创建DataFrame

a,b是列索引,一定要设置行索引(index),否则报错

11,查寻

df[columns_label] 查询单列
df[[columns_label]] 查询多列
查询出一列会进行降维DataFrame----->>Series

12,添加列

语法:df[columns]=数据
切记数据要是同类型的数据,
df1[columns]=df1[columns]+df1[columns]

13,删除语法

del df[columns] 根据下标进行检索删除,没有返回值
df.pop(columns)根据下标进行检索删除,并返回删除的那一列

14,自定义查寻

loc[自定义索引(标签索引)]
iloc[默认索引(数字索引)]
语法:
loc[index] 查询一行数据
扩展
loc[index,columns] 精确到行和列,那就是一个数据
查询多行和多列(精确到第几行和第几列)
loc[[index1,index2,…],[columns1,columns12,…]]
查询多行和多列(第几行到第几行,第几列到第几列)
不是左开右闭
loc[index1:index2,columns1,columns2]
使用布尔索引也可以查询多行多列
loc[行_布尔索引,列_布尔索引]

16,查询行的,iloc[数字索引]

语法:
iloc[num_index] 根据索引位置获取行
iloc[num_index1:num_index2] 第几行到第几行,左开右闭
iloc[[num_index1,num_index2,…]] 第几行和第几行
iloc[num_index,num_columns] #第几行的第几列
iloc[num_index,[num_columns1,num_columns2,…]] 第几行,第几列和第几列
iloc[num_index,[num_columns1:num_columns2]] 第几行,第几列到第几列,左开右闭
iloc[[num_index1,num_index2,…],[num_columns1,num_columns2,…]]
iloc[num_index1:num_index2,[num_columns1:num_columns2]]
“”"
print("-----------------------------------")
#print(df3.iloc[0])
#print(df3.iloc[0:4])
#print(df3.iloc[[0,3]])
#print(df3.iloc[6,0])
#print(df3.iloc[6,0:2])
#print(df3.iloc[6,[0,2]])
#print(df3.iloc[[0,2,4],[0,2]])
“”"
df[num_index1:num_index2] 第几行到第几行,左开右闭—切片
df[label_index1:label_index2] 第几行到第几行,左开右开
“”"
df3[0:4]#第一行到第五行,但是第五行取不到
df3[‘row1’:‘row4’] #第一行到第四行,第四行能取到

17,在末未追加一行,返回一个新对象

df.append(other,ignore_index= False,verify_integrty = False,
sort = False)
other: 要附加的数据,DataFrame或者Series等类型
ignore_index:如果是True,则不使用索引标签,默认false
verify_integrity:如果是True,在创建于重复项的索引时,引发valueError,
默认时false
sort;如果原数据和添加数据的列没有对齐,则对列进行排序,不建议排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值