Skip to content

官方手册

10 minutes to pandas — pandas 2.2.3 documentation

业务处理

使用前先导入

import pandas as pd
import numpy as np

基础数据类型

from pandas import Series,DataFrame

Series是一维表格 DataFrame是二维表格

Series

# 用series构建一维列表


<NolebasePageProperties />




Series([1,2,3])
# 左边是索引,右边是值
0    1
1    2
2    3
dtype: int64

甚至能用字符串来当索引,还是显式索引,这点比numpy强

s=Series([1,2,3],index=['tom','jack','lucy'])
# pandas特有的显式访问是loc
s.loc['tom']
# 在数据写入的时候,推荐使用loc方法
s.loc['tom']=10

显式访问的方式比较直观

s.loc[['tom','lucy']]
s.loc[[True,False,True]]
s>5
# 类似于广播的形式
s.loc[s>5]

也支持隐式访问

print(s.iloc[0])

DataFrame

二维结构 引入了行标签和列标签的概念

DataFrame(data=np.random.randint(0,10,size=(3,5)))

df=DataFrame(data=np.random.randint(0,10,size=(3,5)),index=['tom','lucy','jack'],columns=['语文','英语','数学','物理','化学'])
df

# 显式访问
df.loc['tom','物理']

支持多个访问

df.loc[['tom','lucy'],'数学']

运算

# 广播 pandas与np.array,需要遵守广播原则
# 索引对齐 pandas的对象之间,比如series与series,series与dataframe之间
score=df.loc['tom']
score

df+score
# 会自动索引对齐

聚合运算

score.sum(),score.mean(),score.var(),score.std()

any与all

# 非常好用的any与all
score.isnull().any()
# 帮助查看某个值是否为true

(score>5).any()
# 在整个score中是否存在一个大于5的值

贡献者

文件历史

撰写