学习内容
pandas核心数据结构
Tips:
pandas的核心数据结构有三种:series ,DataFrame,panel
重点
1.series的结构,功能以及使用
1).series的结构如下
series_name=pd.series(data,index=)
series存放一维数据,index是一个列表,存放标签,data可以是不同类型的数据
2).基本操作
series是类list操作和dict操作
import pandas as pd
import numpy as np
data1 = dict(A=1, C=2)#创建数据
data1_1 = pd.Series(data1, index=list("ABCD"))
data2 = pd.Series(np.random.randint(10, 20, 3), index=["A", "B", "C"])#创建数据
print(data1_1)
print(data2)
print(data2+data1_1)#序列可实现索引对应,同意索引可以进行数据操作
2.DataFrame的结构功能以及使用
1)结构
df=pd.dataframe(data,index=,columns=)
dataframe创建的是二维数据,有行标签index和列表签columns
data的数据可以是有numpy构成的数组,series,list构成的字典表
二维的numpy数组
其他的dataframe数据
2)dataframe的基本操作
import pandas as pd
import numpy as np
a = {"a": pd.Series([1, 2, 3], index=["a", "b", "c"]),
"b": pd.Series([1, 2], index=["a", "b"])
}
df = pd.DataFrame(a)
print(df)
结果如下:
a b
a 1 1.0
b 2 2.0
c 3 NaN
df.insert(1, "a_b", df["a"] + df["b"])#数据插入
#或者df.assign(a_b=df["a"]+df["b"])但是assign不改变df的值
print(df)
a a_b b
a 1 2.0 1.0
b 2 4.0 2.0
c 3 NaN NaN
我们发现pandas功能很强大,没有数值的字段也会加上NAN,
但是NAN不参加操作(加减乘除)
具体操作可以详见官网,或者我之前的博客
pandas基础操作1
pandas基本操作2
3.panel的基本操作
pn=pd.panel(data)#将定义的data数据创建成三维数据
pn.to_frame(date)#将三维数据变成二维