如何创建每个行的列集都不同的Pandas Dataframe?

时间:2019-04-21 15:23:52

标签: python pandas dataframe

我本质上想要这样的东西:

    A   B   C   D
1   v   v       v
2   v       v   v
3       v   v

其中:

  • 第1行具有A,B和D列的值,但没有C列
  • 第2行具有A,C和D列的值,但没有B列
  • 第3行具有B和C列的值,但没有A和 D。

作为背景故事,我将Dynamo DB中的行直接检索到Pandas Dataframe中,并且由于Dynamo中的每一行本质上都是一个单独的独立JSON对象,因此经常遇到上述情况。我的一些熊猫函数调用由于KeyError失败,因为该列甚至不存在。我想重现这种情况,以便找到一种更优雅地处理它的方法。

谢谢。

2 个答案:

答案 0 :(得分:0)

例如,如果要查找列表[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 的所有唯一排列,则可以使用['v', 'v', 'v', '']完成:

itertools

答案 1 :(得分:0)

这会生成一个数据帧,但是第一行有一个“ C”列,第二行有一个“ D”列,而第三行有一个“ A”和“ D”列,尽管我没有指定它们:

df = pd.DataFrame([{'A': 'v', 'B': 'v', 'D': 'v'}, {'A':'v', 'B':'v', 'C':'v'}, {'B':'v', 'C':'v'}])

我认为不可能创建仅某些行具有某些列的数据框。