从Numpy数组创建一个Pandas DataFrame,并指定索引列和列头

  • Post category:Python

当我们有一个Numpy数组时,可以很方便地将它转换为Pandas DataFrame。下面是具体的步骤:

1. 导入库

首先要导入Pandas和Numpy库:

import pandas as pd
import numpy as np

2. 创建Numpy数组

在这里,我们需要先创建一个Numpy数组,作为后面构建DataFrame的数据源:

np_array = np.array([[1, 2], [3, 4], [5, 6]])

3. 转换为DataFrame

使用Pandas的DataFrame函数将Numpy数组转换为DataFrame。我们可以使用data参数传入Numpy数组,index参数来指定索引列,columns参数来指定列头:

df = pd.DataFrame(data=np_array, index=['a', 'b', 'c'], columns=['x', 'y'])

这样就可以创建一个3行2列的DataFrame对象,索引列为['a', 'b', 'c'],列头为['x', 'y']

为了更好地理解,我们来看两个具体的示例:

示例1

我们有一个二维Numpy数组,记录了三个人的成绩单:

scores = np.array([[80, 90], [70, 75], [85, 95]])

现在我们需要将它转换为DataFrame,并为每个学生指定一个姓名,以及为每门课程指定一个课程名:

students = ['Alice', 'Bob', 'Chris']
courses = ['Math', 'English']

df = pd.DataFrame(scores, index=students, columns=courses)

这样就得到了如下的结果:

       Math  English
Alice    80       90
Bob      70       75
Chris    85       95

示例2

我们有一个二维Numpy数组,记录了三个城市的气温和湿度信息:

data = np.array([[26, 80], [30, 75], [28, 85]])

现在我们需要将它转换为DataFrame,并为每个城市指定一个名字,以及为两个信息指定一个名称:

cities = ['Beijing', 'Shanghai', 'Guangzhou']
columns = ['Temperature', 'Humidity']

df = pd.DataFrame(data, index=cities, columns=columns)

这样就得到了如下的结果:

          Temperature  Humidity
Beijing            26        80
Shanghai           30        75
Guangzhou          28        85

使用Pandas DataFrame的好处在于,它能够更加灵活方便地进行数据处理和分析。因此,熟练掌握从Numpy数组到Pandas DataFrame的转换是非常重要的。