Pandas基本介绍

1、pandas主要的两个数据结构:Series和DataFrame

Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引。于是会自动创建一个0到N-1(N为长度)的整数型索引。

>>> import pandas as pd
>>> import numpy as np
>>> s = pd.Series([1,3,6,np.nan,44,1])
>>> print(s)
0 1.0
1 3.0
2 6.0
3 NaN
4 44.0
5 1.0
dtype: float64

DataFrame是一个表格型的数据结构,它包含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔值等)。DataFrame既有行索引也有列索引, 它可以被看做由Series组成的大字典。

>>> dates = pd.date_range('',periods=6)
>>> df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
>>> print(df)
a b c d
2016-01-01 1.306762 1.506943 0.682025 -0.054329
2016-01-02 2.626875 0.086998 0.307123 -0.498728
2016-01-03 -0.941697 0.206144 1.719719 1.084614
2016-01-04 -0.610912 -1.120358 -0.635338 1.145777
2016-01-05 -0.150501 0.768586 -0.158341 0.704960
2016-01-06 -0.759211 0.271800 0.768166 -0.293015

2、DataFrame的一些简单运用

>>> print(df['b'])
2016-01-01 1.506943
2016-01-02 0.086998
2016-01-03 0.206144
2016-01-04 -1.120358
2016-01-05 0.768586
2016-01-06 0.271800
Freq: D, Name: b, dtype: float64 >>> df1 = pd.DataFrame(np.arange(12).reshape((3,4)))#创建一组没有给定行标签和列标签的数据 df1:
>>> print(df1)
0 1 2 3
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11 >>> df2 = pd.DataFrame({'A' : 1.,
... 'B' : pd.Timestamp(''),
... 'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
... 'D' : np.array([3] * 4,dtype='int32'),
... 'E' : pd.Categorical(["test","train","test","train"]),
... 'F' : 'foo'})#另一种生成df的方法
>>>print(df2)
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 >>> print(df2.dtypes)#查看数据中的类型
A float64
B datetime64[ns]
C float32
D int32
E category
F object
dtype: object >>> print(df2.index) #查看对列的序号
Int64Index([0, 1, 2, 3], dtype='int64') >>> print(df2.columns)#查看每种数据的名称
Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object') >>> print(df2.values)#查看所有df2的值
[[1.0 Timestamp('2013-01-02 00:00:00') 1.0 3 'test' 'foo']
[1.0 Timestamp('2013-01-02 00:00:00') 1.0 3 'train' 'foo']
[1.0 Timestamp('2013-01-02 00:00:00') 1.0 3 'test' 'foo']
[1.0 Timestamp('2013-01-02 00:00:00') 1.0 3 'train' 'foo']] >>> df2.describe()#数据的总结
A C D
count 4.0 4.0 4.0
mean 1.0 1.0 3.0
std 0.0 0.0 0.0
min 1.0 1.0 3.0
25% 1.0 1.0 3.0
50% 1.0 1.0 3.0
75% 1.0 1.0 3.0
max 1.0 1.0 3.0 >>> print(df2.T)#翻转数据,transpose
0 1 2 3
A 1 1 1 1
B 2013-01-02 00:00:00 2013-01-02 00:00:00 2013-01-02 00:00:00 2013-01-02 00:00:00
C 1 1 1 1
D 3 3 3 3
E test train test train
F foo foo foo foo >>> print(df2.sort_index(axis=1, ascending=False))#对数据的index进行排序并输出
F E D C B A
0 foo test 3 1.0 2013-01-02 1.0
1 foo train 3 1.0 2013-01-02 1.0
2 foo test 3 1.0 2013-01-02 1.0
3 foo train 3 1.0 2013-01-02 1.0 >>> print(df2.sort_values(by='B'))#对数据值排序输出
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
上一篇:C#语法之Linq查询基础一


下一篇:代码中输入数字自动筛选出最大值,使用array,for loop and if (21.9.2017)