pandas 基础最重要知识点就是两个数据结构 Series(一维) 和 DataFrame(二维), 处理这两个数据结构的方法和函数, 以及运用的逻辑
下文约定 NumPy 简写
np
, Pandas 简写pd
, Series 简写s
, DataFrame 简写df
一, 数据结构
pd 的数据结构是基于 np 的, 因此其有着 np 的基因, 许多操作和大部分函数与 np 类似
pd 的数据结构其实是 np 数组数据对象 array 的容器, 在 pd 中有了索引结构, 可以利用索引来取 array 或 array 的值
1, 创建 s 和 df
创建 s 用 Series 方法, 创建 df 用 DataFrame 方法, 创建时若不指定索引, 将自动生成(从 0 开始)
s 是一维, 只有行索引, 而 df 有行和列索引
创建方式灵活多变, 可以查看参数, 根据要求传参进行创建, 简单介绍几种
import numpy as np
import pandas as pd
s = pd.Series(range(3))
df = pd.DataFrame(range(3))
display(s)
df
0 0
1 1
2 2
dtype: int64
0 | |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
s = pd.Series(range(3), index=list('abc'))
df = pd.DataFrame({
'A': range(3), 'B': list('jkl')}, index=list('abc'))
display(s)
df
a 0
b 1
c 2
dtype: int64
A | B | |
---|---|---|
a | 0 | j |
b | 1 | k |
c | 2 | l |
dict_1 = {
'a': 0, 'b': 1, 'c': 2}
dict_2 = {
'a': range(3), 'b': list('jkl')}
s = pd.Series(dict_1)
df1 = pd.DataFrame(dict_1, index=['A'])
df2 = pd.DataFrame(dict_2)
display(s)
display(df1)
df2
a 0
b 1
c 2
dtype: int64
a | b | c | |
---|---|---|---|
A | 0 | 1 | 2 |
a | b | |
---|---|---|
0 | 0 | j |
1 | 1 | k |
2 | 2 | l |
2, s 和 df 的常用属性
大部分属性和 numpy 一样
s = pd.Series(1, index=list('abc'))
df = pd.DataFrame(dict_2)
s, df
(a 1
b 1
c 1
dtype: int64,
a b
0 0