In [10]: df2 = pd.DataFrame({ 'A' : 1.,
'B' : pd.Timestamp('20130102'),
'C' : pd.Series(1,index=list(range(4)),dtype='float32'), //生成Series对象,取的是value
'D' : np.array([3] * 4,dtype='int32'), //生成numpy对象
'E' : pd.Categorical(["test","train","test","train"]),
'F' : 'foo' })
In [11]: df2
Out[11]: // 默认以数字从0开始作为行键,以字典键为列键
A B C D E F
0 1.0 2013-01-02 1.0 3 test foo
1 1.0 2013-01-02 1.0 3 train foo
2 1.0 2013-01-02 1.0 3 test foo
3 1.0 2013-01-02 1.0 3 train foo
一、引入
import pandas as pd #数据分析,代码基于numpy
import numpy as np #处理数据,代码基于ndarray
import matplotlib.pyplot as plt #画图
二、创建对象
# Series数据结构(一维数组),有索引(index)-可以和编程中的数据结构哈希(Hash)结合起来
s = pd.Series([1,2,3,np.nan,8,9]) #默认以数字从0开始作为键值,使用np.nan表示不参与计算
s
0 1.0 1 2.0 2 3.0 3 NaN 4 8.0 5 9.0 dtype: float64
#创建series的基本格式: s=pd.Series(data,index=index,name=name)
s = pd.Series(np.random.randn(5),index=["a","b","c","d","e"],name='my_Series')
print(s)
print(s.name)
s.index
s.values
#字典创建的Series,数据将按index的顺序重新排列;index长度可以和字典长度不一致
d={'a':0,'b':1,'c':3}
print('d is a dict:')
print(d)
s=pd.Series(d,index=['b','c','d','a'])
print(s)
d is a dict:
{'a': 0, 'b': 1, 'c': 3}
b 1.0
c 3.0
d NaN
a 0.0
dtype: float64
d is a dict:
{'a': 0, 'b': 1, 'c': 3}
b 1.0
c 3.0
d NaN
a 0.0
dtype: float64
#如果数据就是一个单一的变量,如数字4,那么Series将重复这个变量:
s=pd.Series(4,index=['b','c','d','a'])
print(s)
b 4 c 4 d 4 a 4 dtype: int64#访问Series数据可以和数组一样使用下标,也可以像字典一样使用索引,还可以使用一些条件过滤: