如何在Python中创建Pandas DataFrame?

2021年9月19日16:19:07 发表评论 1,070 次浏览

需要在Python中创建Pandas DataFrame 吗?

如果是这样,你将看到两种不同的方法来创建Pandas DataFrame:

  • Python创建Pandas DataFrame:通过在 Python 本身中键入值来创建DataFrame
  • 通过从文件(例如 Excel 文件)导入值,然后根据导入的值在 Python 中创建 DataFrame

方法 1:在 Python 中键入值来创建 Pandas DataFrame

如何创建Pandas DataFrame?要在 Python 中创建 Pandas DataFrame,你可以遵循以下创建Pandas DataFrame代码示例通用模板:

import pandas as pd

data = {'First Column Name':  ['First value', 'Second value',...],
        'Second Column Name': ['First value', 'Second value',...],
         ....
        }

df = pd.DataFrame (data, columns = ['First Column Name','Second Column Name',...])

print (df)

请注意,你不需要在数值周围使用引号(除非你希望将这些值捕获为字符串)。

现在让我们通过一个简单的例子来看看如何应用上述模板。

首先,假设你有以下关于汽车的数据并且你想使用 Pandas DataFrame 在 Python 中捕获这些数据:

BrandPrice
Honda Civic22000
Toyota Corolla25000
Ford Focus27000
Audi A435000

这是我们创建Pandas DataFrame代码示例的样子:

import pandas as pd

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
        'Price': [22000,25000,27000,35000]
        }

df = pd.DataFrame(cars, columns = ['Brand', 'Price'])

print (df)

运行 Python 代码,你将获得以下 DataFrame:

如何在Python中创建Pandas DataFrame?

你可能已经注意到,每一行都由一个从 0 开始的数字(也称为索引)表示。或者,你可以分配另一个值/名称来表示每一行。

例如,在下面的代码中,添加了index=['Car_1','Car_2','Car_3','Car_4']

import pandas as pd

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
        'Price': [22000,25000,27000,35000]
        }

df = pd.DataFrame(cars, columns = ['Brand','Price'], index=['Car_1','Car_2','Car_3','Car_4'])

print (df)

你现在将看到新分配的索引:

如何在Python中创建Pandas DataFrame?

如何创建Pandas DataFrame?现在让我们回顾将值导入 Python 以创建 DataFrame 的第二种方法。

方法 2:从 Excel 文件中导入值以创建 Pandas DataFrame

Python创建Pandas DataFrame:你可以使用以下模板将 Excel 文件导入 Python以创建你的 DataFrame:

import pandas as pd

data = pd.read_excel(r'Path where the Excel file is stored\File name.xlsx') #for an earlier version of Excel use 'xls'
df = pd.DataFrame(data, columns = ['First Column Name','Second Column Name',...])

print (df)

确保代码中指定的列名称与 Excel 文件中的列名称完全匹配。

假设你将下表存储在 Excel 文件中(其中 Excel文件名为“Cars”):

BrandPrice
Honda Civic22000
Toyota Corolla25000
Ford Focus27000
Audi A435000

在下面的 Python 代码中,你需要更改路径名以反映 Excel 文件在你的计算机上存储位置。

就我而言,Excel 文件保存在我的桌面上,位于以下路径下:

 'C:\Users\Ron\Desktop\Cars.xlsx'

将数据导入 Python 后,你就可以将其分配给 DataFrame。以下是我们完整的创建Pandas DataFrame代码示例:

import pandas as pd

cars = pd.read_excel(r'C:\Users\Ron\Desktop\Cars.xlsx')
df = pd.DataFrame(cars, columns = ['Brand', 'Price'])

print (df)

和以前一样,你将在 Python 中获得相同的 Pandas DataFrame:

如何在Python中创建Pandas DataFrame?

注意:如果在运行代码时出现以下错误,则必须安装xlrd

ImportError: Install xlrd >= 1.0.0 for Excel support

然后,你可以使用PIP 安装方法来安装 xlrd,如下所示:

pip install xlrd

如何创建Pandas DataFrame?如果你需要将 CSV 文件导入 Python,而不是使用 Excel 文件,你也可以创建相同的 DataFrame 。

从 DataFrame 中获取最大值

一旦你在 DataFrame 中有你的值,你就可以执行多种操作。例如,你可以使用 Pandas 计算统计数据。

例如,假设你想在 DataFrame 内的所有汽车中找到最高价格。

显然,你可以通过查看数据集来推导出该值,但下面介绍的方法适用于更大的数据集。

要获得我们的汽车示例的最高价格,你需要将以下部分添加到 Python 代码中(然后打印结果):

max1 = df['Price'].max()

下面是完整的 Python 代码:

import pandas as pd

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
        'Price': [22000,25000,27000,35000]
        }

df = pd.DataFrame(cars, columns = ['Brand', 'Price'])

max1 = df['Price'].max()
print (max1)

运行代码后,你将获得35,000的值,这确实是最高价格!

你可以查看Pandas 文档以了解有关Python创建Pandas DataFrame的更多信息。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: