迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何在 Pandas DataFrame 中创建一个空列

作者:迹忆客 最近更新:2024/04/20 浏览次数:

我们可以使用 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_1Empty_2Empty_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_1Empty_2Empty_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_1Empty_2 的空列,仅在 df 中包含 NaN 值。


pandas.DataFrame.insert() 将空列添加到 DataFrame

pandas.DataFrame.insert() 允许我们在 DataFrame 中插入列指定位置。我们可以使用此方法向 DataFrame 添加一个空列。

语法:

DataFrame.insert(loc, column, value, allow_duplicates=False)

它在位置 loc 处创建一个名称为 column 的新列,默认值为 valueallow_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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Python 中将 Tensor 转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:120 分类:Python

在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便