pandas学习(两种数据结构DataFrame & Series)
DataFrame(类似numpy的二维数组,是一种带标签的二维对象)
有行索引&列索引(默认从0开始,可根据索引选值)
1. 创建方式:
- 从另一个DataFrame创建
- 从具有二维形状的Numpy数组(或类似的嵌套字典啦字典列表啦)来创建
- 从另一类数据结构Series来创建
从类似CSV文件来创建
获取所使用的红酒数据,注意分隔符是分号
import numpy as np
import pandas as pd
arr=np.array(np.arange(12)).reshape(4,3)
arr
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
df=pd.DataFrame(arr)
#pd.DataFrame(np.arange(12).reshape(4,3),index=['x1','x2','x3','x4'],columns=['y1','y2','y3'])
#如上index参数可以指定行索引(标签),columns指定列索引
df
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
type(df)
<class 'pandas.core.frame.DataFrame'>
这里有一个地方要注意,如何描述Numpy数组的坐标
arr1=np.arange(6)
#arr1[0]
#0
df1=pd.DataFrame(arr1)
df1
0
0 0
1 1
2 2
3 3
4 4
5 5
这里是通过字典创建
dic={
'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}
type(dic)
<class 'dict'>
df1=pd.DataFrame(dic)
df1
a b c
0 1 4 7
1 2 5 8
2 3 6 9
#嵌套字典创建,NAN是空缺值
dic1={
'000':{
'a':1,'b':2,'c':3},'001':{
'd':4,'e':5,'f':6}}
df2=pd.DataFrame(dic1)
df2
000 001
a 1.0