当前位置: 首页 > 知识库问答 >
问题:

python数据帧列转换为dict键和值

柴衡
2023-03-14

我有一个包含多列的pandas数据框,我想从两列构造一个dict:一列作为dict的键,另一列作为dict的值。我该怎么做?

数据帧:

           area  count
co tp
DE Lake      10      7
Forest       20      5
FR Lake      30      2
Forest       40      3

我需要将面积定义为键,计算为dict中的值。提前谢谢。

共有3个答案

李良策
2023-03-14

如果你想和熊猫一起玩,你也可以这样做。不过,我喜欢庞查根的方式。

# replicating your dataframe
lake = pd.DataFrame({'co tp': ['DE Lake', 'Forest', 'FR Lake', 'Forest'], 
                 'area': [10, 20, 30, 40], 
                 'count': [7, 5, 2, 3]})
lake.set_index('co tp', inplace=True)

# to get key value using pandas
area_dict = lake.set_index('area').T.to_dict('records')[0]
print(area_dict)

output: {10: 7, 20: 5, 30: 2, 40: 3}
范霄
2023-03-14

使用熊猫,可以通过以下方式完成:

如果lakes是您的数据帧:

area_dict = lakes.to_dict('records')
乜建柏
2023-03-14

如果lakes是您的DataFrame,您可以执行以下操作

area_dict = dict(zip(lakes.area, lakes.count))
 类似资料:
  • 问题内容: 我有一个带有多列的pandas数据框,我想从两列构造一个dict:一个作为dict的键,另一个作为dict的值。我怎样才能做到这一点? 数据框: 我需要将区域定义为键,在dict中计为值。先感谢您。 问题答案: 如果是您,则可以执行以下操作

  • 如何将此dict转换为数据帧

  • 我有一个带有多个列的Python数据帧。 我想找到与LogBlk=0和Page=0关联的。 这将返回[0,1,8,9] 我要做的是将pandas.series转换为一个列表。有人知道怎么做吗?

  • 问题内容: 我如何转换defaultdict 成为普通命令? 问题答案: 您可以简单地致电: 但请记住,defaultdict 是 一个dict: 只是稍有不同的行为,因为当您试图访问一个缺少关键-这通常会提高一个-在被称为改为: 这就是您在字典的数据端出现之前看到的内容。 因此,在不实际制作新对象的情况下恢复更多类似dict的行为的另一个技巧是重置: 但这在大多数情况下都不值得。

  • 我知道一个解决方案可能是将这个dict中的每个键值对转换为dict,这样整个结构就变成了dict的dict,然后我们可以将每一行单独添加到DataFrame中。但我想知道是否有更简单、更直接的方法来做到这一点。 到目前为止,我已经尝试将dict转换为series对象,但这似乎不能保持列之间的关系:

  • 我对熊猫有些陌生。我有一个熊猫数据框,是一行23列。 我想把它转换成一个系列?我想知道做这件事最像蟒蛇的方式是什么? 我试过pd。系列(我的结果),但它抱怨。它还没有聪明到意识到它仍然是数学术语中的“向量”。 谢谢!

  • 我在Spark中有一个数据框,看起来像这样: 它有30列:只显示其中的一些! 因此,我必须在Scala中将这个数据帧转换成一个键值对,使用键作为数据帧中的一些列,并为这些键分配从索引0到计数(不同的键数)的唯一值。 例如:使用上面的案例,我希望在Scala中的map(key-value)集合中有一个输出,如下所示: 我对斯卡拉和斯帕克是新手,我试着做这样的事情。 但是,这不起作用。:/此操作完成后

  • 我有一句名言: 我想把它转换成熊猫数据帧,这样一列是键,另一列是值。我该怎么做? < code>pd。data frame . from _ dict(data)不起作用