Pandas数据帧的6种创建方法

Pandas是Python的数据分析利器,DataFrame是Pandas进行数据分析 的基本结构,可以把DataFrame视为一个二维数据表,每一行都表示 一个数据记录。本文将介绍创建Pandas DataFrame的6种方法。

创建Pandas数据帧的六种方法如下:

  • 创建空DataFrame
  • 手工创建DataFrame
  • 使用List创建DataFrame
  • 使用Dict创建DataFrme
  • 使用Excel文件创建DataFrame
  • 使用CSV文件创建DataFrame

1、创建空的Pandas DataFrame

学编程,上汇智网,在线编程环境,一对一助教指导。

首先我们看一下如何创建一个空的DataFrame(数据帧):

1
pd.DataFrame(columns=['A', 'B', 'C'], index=[0,1,2])

columns参数用来定义列名,index参数用来定义行号。上面的代码创建了 一个3行3列的二维数据表,结果看起来是这样:

嗯,所有数据项都是NaN。

2、手工创建Pandas DataFrame

接下来让我们看看如何使用pd.DataFrame手工创建一个Pandas数据帧:

1
df = pd.DataFrame(data=['Apple','Banana','Cherry','Dates','Eggfruit'])

使用data参数来声明数据,结果看起来是这样:

由于我们没有定义数据帧的列名,因此Pandas默认使用序号作为列名。和原来一样, 可以使用columns参数来声明列名:

1
2
df = pd.DataFrame(data=['Apple','Banana','Cherry','Dates', 'Eggfruit'], 
columns=['Fruits'])

结果如下:

最左侧的列被称为索引,默认从0开始,和原来一样我们用index自行定义:

1
2
3
df = pd.DataFrame(data=['Apple','Banana','Cherry','Dates','Eggfruit'], 
index = [1,2,3,4,5],
columns=['Fruits'])

现在的数据帧看起来是这样:

那么如果要添加一个Quantity列来表示水果数量该怎么做?

1
2
3
4
5
6
7
pd.DataFrame(data=[['Apple',5],
['Banana',10],
['Cherry',8],
['Dates',3],
['Eggfruit',7]],
columns = ['Fruits','Quantity'],
index=[1,2,3,4,5])

注意data参数和colums参数都进行了相应的调整。现在的DataFrame这样:

3、使用列表创建Pandas DataFrame

学编程,上汇智网,在线编程环境,一对一助教指导。

假设我们有一个列表:

1
fruits_list = ['Apple','Banana','Cherry','Dates','Eggfruit']

要把列表转换为DataFrame,直接将列表传入pd.DataFrame即可:

1
pd.DataFrame(fruits_list)

得到的数据帧结构如下:

当然你可以用columns参数来定义列名,或者用index来声明行号:

1
2
3
pd.DataFrame(fruits_list, 
columns = ['Fruits'],
index = ['a','b','c','d','e'])

结果如下:

4、使用字典创建Pandas DataFrame

字典就是一组键/值对:

1
dict = {key1 : value1, key2 : value2, key3 : value3}

当我们将上述字典对象转换为DataFrame时,看起来是这样:

容易注意到,字段的键对应成为DataFrame的列,而所有的值对应数据。 记住这个对应关系。

现在假设我们要创建一个如下形状的DataFrame:

由于列名为Fruits、Quantity和Color,因此对应的字典也应当 有这几个键,而每一行的值则对应字典中的键值,字典应该是 如下的结构:

1
2
3
fruits_dict = { 'Fruits':['Apple','Banana','Cherry','Dates','Eggfruit'],
'Quantity': [5, 10, 8, 3, 7],
'Color': ['Red', 'Yellow', 'Red', 'Brown', 'Yellow']}

现在让我们将这个字典转换为DataFrame,一句话的事儿:

1
pd.DataFrame(fruits_dict)

结果如下:

5、将Excel文件转换为Pandas DataFrame

如果你有一个excel文件,例如“fruits.xlsx“…

那么可以使用下面的代码将其转换为Pandas DataFrame:

1
fruits = pd.read_excel('fruits.xlsx')

得到的数据帧看起来是这样:

6、将CSV文件转换为Pandas DataFrame

假设你有一个CSV文件,例如“fruits.csv“,可以使用如下的代码 将其转换为DataFrame:

1
fruits = pd.read_csv('fruits.csv')

也是一句话的事儿。


原文链接:5 common ways to create Pandas dataframe

汇智网翻译整理,转载请标明出处