建立一個空的 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)
輸出: