熊猫-向数据框添加序列会导致出现NaN值

数据瑞典

我有一个看起来像这样的数据框:

d = {'Col_1' : pd.Series(['A', 'A', 'A', 'B']),
     'Col_2' : pd.Series(['B', 'C', 'B', 'D']),
     'Col_3' : pd.Series([np.nan, 'D', 'C', np.nan]),
     'Col_4' : pd.Series([np.nan, np.nan, 'D', np.nan]),
     'Col_5' : pd.Series([np.nan, np.nan, 'E', np.nan]),}
df = pd.DataFrame(d)

Col_1  Col_2  Col_3  Col_4  Col_5
  A      B      NaN    NaN    NaN
  A      C      D      NaN    NaN
  A      B      C      D      E
  B      D      NaN    NaN    NaN

我的目标是最终实现以下目标:

Col_1  Col_2  Col_3  Col_4  Col_5  ConCat
  A      B      NaN    NaN    NaN    A:B
  A      C      D      NaN    NaN    A:C:D
  A      B      C      D      E      A:B:C:D:E
  B      D      NaN    NaN    NaN    B:D

我已经成功创建了一个数据框,看起来像来自以下位置的所需输出:

rows = df.values
df_1 = pd.DataFrame([':'.join(word for word in rows if word is not np.nan) for rows in rows])

    0
0  A:B
1  A:C:D
2  A:B:C:D:E
3  B:D

但是现在,当我尝试将其放入原始数据帧时,我得到:

df['concatenated'] = df_1

Col_1  Col_2  Col_3  Col_4  Col_5  concatenated
  A      B      NaN    NaN    NaN    NaN
  A      C      D      NaN    NaN    NaN
  A      B      C      D      E      NaN
  B      D      NaN    NaN    NaN    NaN

奇怪的是,当创建一个简化的示例时,它可以按预期工作。下面是我正在做的完整代码。原始数据是从上面原始数据帧的外观转置而来的。

df_caregiver_type = pd.concat([df_caregiver_type[col].order().reset_index(drop=True) for col in df_caregiver_type], axis=1, ignore_index=False).T
df_caregiver_type.rename(columns=lambda x: 'Col_' + str(x), inplace=True)
rows = df_caregiver_type.values
df_caregiver_type1 = pd.DataFrame([':'.join(word for word in rows if word is not np.nan) for rows in rows])
df_caregiver_type['concatenated'] = df_caregiver_type1
df_caregiver_type = df_caregiver_type.T
df_caregiver_type

更新我在想由于完整代码的第一行而出现错误。它来自一个独立但相关的问题:大熊猫:分别对每一列进行排序

CT Zhu

对于您的完整数据集,将最后一个步骤从更改为df['concatenated'] = df_1即可df['concatenated'] = df_1.values解决该问题,我认为这是一个错误,并且我很肯定以前已经在SO中看到过它。

要不就: df['concatenated'] = [':'.join(word for word in row if word is not np.nan) for row in rows]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫-向数据框添加序列会导致出现NaN值

来自分类Dev

向熊猫数据框添加空值

来自分类Dev

熊猫在时间序列上向数据框添加列

来自分类Dev

向熊猫数据框添加方法

来自分类Dev

向数据框熊猫添加行

来自分类Dev

在熊猫中向数据框添加行

来自分类Dev

从熊猫绘制时间序列数据会导致ValueError

来自分类Dev

获取某些熊猫数据框会导致循环语句

来自分类Dev

熊猫串联导致NaN?

来自分类Dev

根据其他列的值向熊猫数据框添加新列

来自分类Dev

如何向熊猫数据框添加额外的行

来自分类Dev

如何向熊猫数据框列添加小时

来自分类Dev

向熊猫数据框添加多索引并保持当前索引

来自分类常见问题

熊猫-从字典向数据框添加新列

来自分类Dev

熊猫:在一行中向数据框添加几列

来自分类Dev

从熊猫数据框向matplotlib图添加文本注释

来自分类Dev

如何向熊猫数据框添加新记录

来自分类Dev

从功能向熊猫数据框中添加多列

来自分类Dev

从字典向熊猫数据框添加新列

来自分类Dev

在行级向熊猫数据框添加列表元素

来自分类Dev

如何向熊猫数据框添加列级别

来自分类Dev

如何向熊猫数据框滚动窗口添加步骤

来自分类Dev

在循环结束时向熊猫数据框添加行

来自分类Dev

在熊猫中将对象数据类型转换为浮点数据类型会导致NaN值

来自分类Dev

获取熊猫数据框值

来自分类Dev

重置熊猫数据框的值

来自分类Dev

在熊猫数据框中检索NaN值的索引

来自分类Dev

根据条件过滤熊猫数据框-在NaN值上失败

来自分类Dev

在大熊猫值过滤数据框保留为NaN