创建一个空的 Pandas DataFrame 并用数据填充它
Samreena Aslam
2023年1月30日
2022年5月16日
- 在不使用列名的情况下创建一个空 Pandas DataFrame
- 创建一个带有列名的空 Pandas DataFrame
- 创建具有列和行索引的空 Pandas DataFrame
- 通过附加列填充空 Pandas DataFrame 中的数据
- 通过附加行在空 Pandas DataFrame 中填充数据
-
使用
for
循环在空的 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 中填充数据
首先,创建一个带有列名的空 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
输出:
当使用列名和行索引创建一个空 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
输出:
使用 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)
输出: