创建一个空的 Pandas DataFrame 并用数据填充它

Samreena Aslam 2023年1月30日
  1. 在不使用列名的情况下创建一个空 Pandas DataFrame
  2. 创建一个带有列名的空 Pandas DataFrame
  3. 创建具有列和行索引的空 Pandas DataFrame
  4. 通过附加列填充空 Pandas DataFrame 中的数据
  5. 通过附加行在空 Pandas DataFrame 中填充数据
  6. 使用 for 循环在空的 Pandas DataFrame 中填充数据
创建一个空的 Pandas DataFrame 并用数据填充它

本教程讨论了创建一个空的 Pandas DataFrame 并通过附加行或列来填充数据。

在不使用列名的情况下创建一个空 Pandas DataFrame

我们可以创建一个空的 Pandas DataFrame,而无需将列名和索引定义为参数。在下面的示例中,我们通过调用 DataFrame 类构造函数而不传递任何参数来创建一个空的 Pandas DataFrame。

import pandas as pd

# create an Empty pandas DataFrame
dataframe = pd.DataFrame()
print(dataframe)

输出:

Empty DataFrame
Columns: []
Index: []

创建一个带有列名的空 Pandas DataFrame

另一种方法也可用于创建一个空的 Pandas DataFrame。我们可以通过将列名作为参数传递来创建一个空的 DataFrame。

import pandas as pd

# create an Empty pandas DataFrame with column names
df = pd.DataFrame(columns=["Student Name", "Subjects", "Marks"])
print(df)

输出:

Empty DataFrame
Columns: [Student Names, Subjects, Marks]
Index: []

创建具有列和行索引的空 Pandas DataFrame

如果我们没有数据来填充 DataFrame,我们可以创建一个带有列名和行索引的空 DataFrame。稍后,我们可以在这个空的 DataFrame 中填充数据。

import pandas as pd

# create an Empty pandas DataFrame with column names indices
df = pd.DataFrame(
    columns=["Student Name", "Subjects", "Marks"], index=["a1", "a2", "a3"]
)
print(df)

输出:

   Student Names Subjects Marks
a1           NaN      NaN   NaN
a2           NaN      NaN   NaN
a3           NaN      NaN   NaN

通过附加列填充空 Pandas DataFrame 中的数据

在创建一个没有列和索引的空 DataFrame 后,我们可以通过一一追加列来填充空 DataFrame。

我们在下面的代码中使用了 append() 方法。

import pandas as pd

# create an Empty pandas DataFrame
df = pd.DataFrame()
print(df)
# append data in columns to an empty pandas DataFrame
df["Student Name"] = ["Samreena", "Asif", "Mirha", "Affan"]
df["Subjects"] = ["Computer Science", "Physics", "Maths", "Chemistry"]
df["Marks"] = [90, 75, 100, 78]

df

输出:

如何创建空的 Pandas DataFrame 并填充数据 - 填充数据附加列

通过附加行在空 Pandas DataFrame 中填充数据

首先,创建一个带有列名的空 DataFrame,然后逐行追加行。

append() 方法也可以追加行。

import pandas as pd

# create an Empty pandas DataFrame with column names
df = pd.DataFrame(columns=["Student Name", "Subjects", "Marks"])
print(df)

df = df.append(
    {"Student Name": "Samreena", "Subjects": "Computer Science", "Marks": 100},
    ignore_index=True,
)
df = df.append(
    {"Student Name": "Asif", "Subjects": "Maths", "Marks": 80}, ignore_index=True
)
df = df.append(
    {"Student Name": "Mirha", "Subjects": "Physics", "Marks": 90}, ignore_index=True
)

df

输出:

如何创建空的 Pandas DataFrame 并填充数据 - 填充数据附加行

当使用列名和行索引创建一个空 DataFrame 时,我们可以使用 loc() 方法将数据填充到行中。

import pandas as pd

# create an Empty pandas DataFrame with column names indices
df = pd.DataFrame(
    columns=["Student Name", "Subjects", "Marks"], index=["a1", "a2", "a3"]
)
print(df)
df.loc["a1"] = ["Samreena", "Computer Science", 100]
df.loc["a2"] = ["Asif", "Maths", 90]
df.loc["a3"] = ["Mirha", "Chemistry", 60]
df

输出:

如何创建空的 Pandas DataFrame 并填充数据 - 填充数据附加行

使用 for 循环在空的 Pandas DataFrame 中填充数据

当我们有很多文件或数据时,很难使用 append() 方法将数据逐个填充到 Pandas DataFrame 中。在这种情况下,我们可以使用 for 循环迭代地追加数据。

在下面的示例中,我们在列表中初始化数据,然后在 for 循环中使用 append() 方法。

import pandas as pd

df = pd.DataFrame()
list = [
    ["Samreena", "Computer Science", 100],
    ["Asif", "Maths", 90],
    ["Mirha", "Chemistry", 60],
]
for student in list:
    temp_df = pd.DataFrame([student], columns=["Student Name", "Subjects", "Marks"])
    df = df.append(temp_df, ignore_index=True)
print(df)

输出:

如何创建空的 Pandas DataFrame 并填充数据 - 填充数据附加行

相关文章 - Pandas DataFrame