将 NumPy 数组转换为 Pandas DataFrame
本教程介绍了如何使用 pandas.DataFrame()
方法将 numpy 数组转换为 Pandas DataFrame。
我们将 numpy 数组传递到 pandas.DataFrame()
方法中,从 NumPy 数组生成 Pandas DataFrame。我们还可以为 DataFrame 指定列名和行索引。
使用 pandas.DataFrame()
方法将 NumPy 数组转换为 Pandas DataFrame
我们将 NumPy 数组传递到 pandas.DataFrame()
方法中,从 NumPy 数组中生成 DataFrame。
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
输出:
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
0 1 2
0 27 44 77
1 75 65 47
2 30 84 86
3 18 9 41
它首先创建一个大小为 (4,3)
的随机数组,有 4 行 3 列。然后我们将数组作为参数传递给 pandas.DataFrame()
方法,该方法从数组中生成名为 data_df
的 DataFrame。默认情况下,pandas.DataFrame()
方法会插入默认的列名和行索引。
我们也可以通过 pandas.DataFrame()
方法的 index
和 columns
参数来设置列名和行索引。
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
row_indices = ["Row_1", "Row_2", "Row_3", "Row_4"]
column_names = ["Column_1", "Column_2", "Column_3"]
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array, index=row_indices, columns=column_names)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
输出:
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
Column_1 Column_2 Column_3
Row_1 27 44 77
Row_2 75 65 47
Row_3 30 84 86
Row_4 18 9 41
在这里,我们将 index
的值设置为 row_indices
,这是包含每行索引的列表。同样,我们通过将 columns
的值设置为 column_names
列表来分配列名,这个列表包含了每一列的名称。
在某些情况下,NumPy 数组本身可能包含行索引和列名。然后我们使用数组切片从数组中提取数据、行索引和列名。
import numpy as np
import pandas as pd
marks_array = np.array(
[["", "Mathematics", "Economics"], ["Sunny", 25, 23], ["Alice", 23, 24]]
)
print("NumPy Data Array is:")
print(marks_array)
print("")
row_indices = marks_array[1:, 0]
column_names = marks_array[0, 1:]
data_df = pd.DataFrame(
data=np.int_(marks_array[1:, 1:]), index=row_indices, columns=column_names
)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
输出:
NumPy Data Array is:
[['' 'Mathematics' 'Economics']
['Sunny' '25' '23']
['Alice' '23' '24']]
The DataFrame generated from the NumPy array is:
Mathematics Economics
Sunny 25 23
Alice 23 24
我们在 NumPy 数组中得到了行索引和列名。我们选择第一行和第一列之后的所有值,并将其作为 data
参数提供给 pandas.DataFrame()
函数,同时选择第二行的所有第一列值,并将其作为 index
参数传递。同理,我们从第二列中选取所有第一行的值,并将其作为 columns
参数传递,设置列名。
numpy.array()
在制作 NumPy 数组的同时,将整数值转换为字符串值,以保证数组的数据格式相同。我们使用 numpy.int_()
函数将数据值转换回整数类型。
相关文章
将 Pandas DataFrame 转换为 Spark DataFrame
发布时间:2024/04/20 浏览次数:169 分类:Python
-
本教程将讨论将 Pandas DataFrame 转换为 Spark DataFrame 的不同方法。
将 Pandas DataFrame 导出到 Excel 文件
发布时间:2024/04/20 浏览次数:164 分类:Python
-
本教程介绍了有关如何将 Pandas DataFrame 导出到 excel 文件的各种方法
将 Lambda 函数应用于 Pandas DataFrame
发布时间:2024/04/20 浏览次数:113 分类:Python
-
本指南说明如何使用 DataFrame.assign() 和 DataFrame.apply() 方法将 Lambda 函数应用于 pandas DataFrame。
计算 Pandas 中两个 DataFrame 之间的交叉连接
发布时间:2024/04/20 浏览次数:114 分类:Python
-
本教程解释了如何在 Pandas 中计算两个 DataFrame 之间的交叉连接。
计算 Pandas DataFrame 列的数量
发布时间:2024/04/20 浏览次数:113 分类:Python
-
本教程解释了如何使用各种方法计算 Pandas DataFrame 的列数,例如使用 shape 属性、列属性、使用类型转换和使用 info() 方法。
更改 Pandas DataFrame 列的顺序
发布时间:2024/04/20 浏览次数:116 分类:Python
-
在这篇文章中,我们将介绍如何使用 python pandas DataFrame 来更改列的顺序。在 pandas 中,使用 Python 中的 reindex() 方法重新排序或重新排列列。
从 Pandas DataFrame 系列中获取列表
发布时间:2024/04/20 浏览次数:136 分类:Python
-
本文将讨论如何使用 tolist 方法从 Pandas DataFrame 系列中获取列表,并探索 Pandas DataFrame 结构。