如何在 Pandas DataFrame 中添加一行
Asad Riaz
2023年1月30日
Pandas 旨在加载一个完全填充的 DataFrame
。我们可以在 pandas.DataFrame
中一一添加。这可以通过使用各种方法来完成,例如 .loc
,字典,pandas.concat()
或 DataFrame.append()
。
使用 .loc [index]
方法将行添加到带有列表的 Pandas DataFrame 中
loc[index]
会将新列表作为新行,并将其添加到 pandas.dataframe
的索引 index
中。
考虑以下代码:
# python 3.x
import pandas as pd
# List of Tuples
fruit_list = [("Orange", 34, "Yes")]
# Create a DataFrame object
df = pd.DataFrame(fruit_list, columns=["Name", "Price", "Stock"])
# Add new ROW
df.loc[1] = ["Mango", 4, "No"]
df.loc[2] = ["Apple", 14, "Yes"]
print(df)
结果:
Name Price Stock
0 Orange 34 Yes
1 Mango 4 No
2 Apple 14 Yes
将字典作为行添加到 Pandas DataFrame
append()
可以直接将字典中的键值作为一行,将其添加到 pandas dataframe 中。
考虑以下代码:
# python 3.x
import pandas as pd
# List of Tuples
fruit_list = [("Orange", 34, "Yes")]
# Create a DataFrame object
df = pd.DataFrame(fruit_list, columns=["Name", "Price", "Stock"])
# Add new ROW
df = df.append({"Name": "Apple", "Price": 23, "Stock": "No"}, ignore_index=True)
df = df.append({"Name": "Mango", "Price": 13, "Stock": "Yes"}, ignore_index=True)
print(df)
结果:
Name Price Stock
0 Orange 34 Yes
1 Apple 23 No
2 Mango 13 Yes
Dataframe .append
方法添加一行
.append
可用于将其他 DataFrame
的行追加到原始 DataFrame
的末尾,并返回一个新的 DataFrame
。来自新 DataFrame
的列(不在原始 datafarme
中)也添加到现有的 DataFrame
中,新的单元格值填充为 NaN
。
考虑以下代码:
# python 3.x
import pandas as pd
# List of Tuples
fruit_list = [("Orange", 34, "Yes")]
# Create a DataFrame object
df = pd.DataFrame(fruit_list, columns=["Name", "Price", "Stock"])
print("Original DataFrame:")
print(df)
print(".............................")
print(".............................")
new_fruit_list = [("Apple", 34, "Yes", "small")]
dfNew = pd.DataFrame(new_fruit_list, columns=["Name", "Price", "Stock", "Type"])
print("Newly Created DataFrame:")
print(dfNew)
print(".............................")
print(".............................")
# append one dataframe to othher
df = df.append(dfNew, ignore_index=True)
print("Copying DataFrame to orignal...")
print(df)
ignore_index = True
将忽略新 DataFrame
的 index
并从原始 DataFrame
为其分配新索引。
输出:
Original DataFrame:
Name Price Stock
0 Orange 34 Yes
.............................
.............................
Newly Created DataFrame:
Name Price Stock Type
0 Apple 34 Yes small
.............................
.............................
Copying DataFrame to original..:
Name Price Stock Type
0 Orange 34 Yes NaN
1 Apple 34 Yes small