創建pandas的DataFrame對象的5種方法
Pandas的DataFrame對象可以通過許多方式創建,舉幾個常用的例子。
通過Series對象創建
#1、通過單個Series對象創建。DataFrame是一組Series對象的集合,可以用單個Series創建一個單列的DataFrame
import pandas as pd
import numpy as np
#先創建一個Series對象
area = pd.Series({'California': 423967, 'Texas': 695662,
'New York': 141297, 'Florida': 170312,
'Illinois': 149995})
#創建單列的DataFrame對象
pd.DataFrame(area,columns=['area'])
#輸出如下:
area
California 423967
Texas 695662
New York 141297
Florida 170312
Illinois 149995
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
#2、通過多個Series對象的字典創建DataFrame對象
#另外創建一個Series對象
pop = pd.Series({'California': 38332521, 'Texas': 26448193,
'New York': 19651127, 'Florida': 19552860,
'Illinois': 12882135})
#使用字Series對象字典方式創建DataFrame對象
pd.DataFrame({'area':area, 'population':pop})
#輸出如下:
area population
California 423967 38332521
Texas 695662 26448193
New York 141297 19651127
Florida 170312 19552860
Illinois 149995 12882135
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
使用字典列表創建
#所有元素都是字典的列表可以變成DataFrame
#創建一個元素爲字典的列表
data = [{'a':i, 'b': 2*i} for i in range(10)]
#通過字典列表創建DataFrame
pd.DataFrame(data)
#輸出如下:
a b
0 0 0
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
通過Numpy二維數組創建
#假入有一個二維數組,就可以創建一個可以指定行列索引值的DataFrame
#創建一個numpy二維數組
np.random.seed(0)
a =np.random.randint(1,10,(3,2))
#基於a數組建立DataFrame
pd.DataFrame(a,columns=['foo', 'bar'],index=['a','b', 'c'])
#輸出如下:
foo bar
a 6 1
b 4 4
c 8 4
#假如不指定行列索引,那麼行列默認都是整數索引值
pd.DataFrame(a)
#輸出如下:
0 1
0 6 1
1 4 4
2 8 4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21