创建pandas的DataFrame对象的3种方法

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

使用字典列表创建

#所有元素都是字典的列表可以变成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

通过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

猜你喜欢

转载自blog.csdn.net/jasonzhoujx/article/details/81626839