arrays - Pandas 如何对齐 DataFrame 中的两列和 NaN 空单元格

标签 arrays pandas dataframe nan

我使用的是 Python 3.8.8

我的 DataFrame 结构如下:

<表类=“s-表”> <标题> 一个 B <正文> 0 1 1 2 2 1 3 7 4 7 5 8

和一个数组:

C = [3,4,7]

我想添加一个数组“C”作为 DataFrame 的新列。问题是该数组的索引长度与 df 不同。我想通过用 NaN 填充空单元格来弥补 C 中的长度差异。我想要的结果看起来像:

<表类=“s-表”> <标题> 一个 B C <正文> 0 1 NaN 1 2 NaN 2 1 3 3 7 4 4 7 7 5 8 NaN

我正在寻找一种从 df 的特定索引开始添加 C 的方法,但我不知道如何解决 df 和数组长度之间的差异。

感谢您的宝贵时间

最佳答案

为了解决将列表放入数据帧时“长度不同”的问题,您可以将其转换为 pandas series。完成此操作后,您可以轻松地将其添加到数据框中,其余值用 np.nan 填充。

就您而言,当您将 C list 转换为 series 时,您还可以专门设置 index,然后您可以将其分配到您的数据框Pandas nature to align data on indices会将系列放在正确的索引上

考虑使用下面的代码:

c = pd.Series([3, 4, 7],index=[2,3,4])
df['C'] = c

打印:

   A  B    0
0  0  1  NaN
1  1  2  NaN
2  2  1  3.0
3  3  7  4.0
4  4  7  7.0
5  5  8  NaN

重命名 0 应该很简单。

关于arrays - Pandas 如何对齐 DataFrame 中的两列和 NaN 空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70311059/

相关文章:

python - df.iloc 未在 For 循环中赋值? ( Pandas )

arrays - 使用由索引的 kronecker 产品产生的向量构建矩阵,无需 for 循环

python - 删除 NaN 值并从下一列中移动值

python - 无法对与 pandas/python 中的正则表达式匹配的行求和

python - Pandas :DataFrame.mean() 非常慢。如何更快地计算列的均值?

python - pandas.DataFrame.replace 似乎不起作用

Python数据框sume迭代

javascript - 单击按钮时在另一个数据表中显示选中的行

javascript - 按组分组数组并按位置排序

c++ - C++ 中的多维 vector