创建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