如何在 Pandas DataFrame 中创建一个空列
我们可以使用 DataFrame 对象的 reindex()
,assign()
和 insert()
方法在 Pandas 中向 DataFrame 添加一个空列。我们还可以直接为 DataFrame 的列分配一个空值,以在 Pandas 中创建一个空列。
通过简单的分配创建 Pandas 空的列
我们可以直接将 DataFrame 的列分配给空字符串,NaN
值或空 Pandas Series
,以在 Pandas 中创建一个空列。
import pandas as pd
import numpy as np
dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]
df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df["Empty_1"] = ""
df["Empty_2"] = np.nan
df["Empty_3"] = pd.Series()
print(df)
输出:
Date Income Expenses Empty_1 Empty_2 Empty_3
0 April-20 10 3 NaN NaN
1 April-21 20 8 NaN NaN
2 April-22 10 4 NaN NaN
3 April-23 15 5 NaN NaN
4 April-24 10 6 NaN NaN
5 April-25 12 10 NaN NaN
它在 df 中创建三个空列。为 Empty_1
列分配空字符串,为 Empty_2
分配 NaN 值,为 Empty_3
分配一个空 Pandas Series
,这也将导致整个 Empty_3
的值为 NaN。
在 Pandas 中用 pandas.DataFrame.reindex()
方法添加一个空列
我们可以使用 pandas.DataFrame.reindex() 方法向 Pandas 中的 DataFrame 添加多个空列。
import pandas as pd
import numpy as np
dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]
df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
column_names = ["Empty_1", "Empty_2", "Empty_3"]
df = df.reindex(columns=column_names)
print(df)
输出:
Empty_1 Empty_2 Empty_3
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
该代码在 df 中使用所有 NaN 值创建了新列 Empty_1
,Empty_2
,Empty_3
,而所有旧信息都丢失了。
要在保留初始列的同时添加多个新列,我们可以编写如下代码:
import pandas as pd
import numpy as np
dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]
df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df = df.reindex(columns=df.columns.tolist() + ["Empty_1", "Empty_2", "Empty_3"])
print(df)
输出:
Date Income Expenses Empty_1 Empty_2 Empty_3
0 April-20 10 3 NaN NaN NaN
1 April-21 20 8 NaN NaN NaN
2 April-22 10 4 NaN NaN NaN
3 April-23 15 5 NaN NaN NaN
4 April-24 10 6 NaN NaN NaN
5 April-25 12 10 NaN NaN NaN
这样会在保留初始信息的情况下向 df 添加空列 Empty_1
,Empty_2
和 Empty_3
。
pandas.DataFrame.assign()
在 Pandas DataFrame 中添加一个空列
我们可以使用 pandas.DataFrame.assign() 方法向其中 Pandas 中的 DataFrame 添加一个空列。
import pandas as pd
import numpy as np
dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]
df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df = df.assign(Empty_1="", Empty_2=np.nan)
print(df)
输出:
Date Income Expenses Empty_1 Empty_2
0 April-20 10 3 NaN
1 April-21 20 8 NaN
2 April-22 10 4 NaN
3 April-23 15 5 NaN
4 April-24 10 6 NaN
5 April-25 12 10 NaN
它将创建一个名为 Empty_1
和 Empty_2
的空列,仅在 df
中包含 NaN 值。
pandas.DataFrame.insert()
将空列添加到 DataFrame
pandas.DataFrame.insert() 允许我们在 DataFrame 中插入列指定位置。我们可以使用此方法向 DataFrame
添加一个空列。
语法:
DataFrame.insert(loc, column, value, allow_duplicates=False)
它在位置 loc
处创建一个名称为 column
的新列,默认值为 value
。allow_duplicates = False
确保 DataFrame
中只有一列名为 column
的列。如果我们传递一个空字符串或 NaN
值作为值参数,则可以向 DataFrame 添加一个空列。
import pandas as pd
import numpy as np
dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]
df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df.insert(3, "Empty_1", "")
df.insert(4, "Empty_2", np.nan)
print(df)
输出:
Date Income Expenses Empty_1 Empty_2
0 April-20 10 3 NaN
1 April-21 20 8 NaN
2 April-22 10 4 NaN
3 April-23 15 5 NaN
4 April-24 10 6 NaN
5 April-25 12 10 NaN
它在 df
中创建 Empty_1
列,并在索引 3
处创建所有空值,并在索引 4
处创建具有所有 NaN
值的 Empty_2
。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串