python pandas dataframe列转换为dict键和值

per*_*gee 61 python dictionary data-conversion dataframe pandas

一个包含多列的python pandas数据帧,dict只需要两列.一个是dict的键,另一个是dict的值.我怎样才能做到这一点?

数据帧:

           area  count
co tp
DE Lake      10      7
Forest       20      5
FR Lake      30      2
Forest       40      3
Run Code Online (Sandbox Code Playgroud)

需要将区域定义为键,在dict中计为值.先感谢您.

小智 148

如果lakes是你的话DataFrame,你可以做点什么

area_dict = dict(zip(lakes.area, lakes.count))
Run Code Online (Sandbox Code Playgroud)

  • 解决方案:`area_dict = dict(zip(lakes ['area'],lakes ['count']))` (8认同)
  • 如果您希望多于一列作为字典值怎么办?我在想类似 `area_dict = dict(zip(lakes.area, (lakes.count, Lakes.other_column)))` 的东西。你会如何实现这一点? (3认同)
  • 如果第二个参数具有多个值,则此方法将无效。 (2认同)

小智 10

使用熊猫可以这样做:

如果 Lakes 是您的 DataFrame:

area_dict = lakes.to_dict('records')
Run Code Online (Sandbox Code Playgroud)

  • @MichaelD '记录' 不是一列。这是参数`orient`的一个选项。 (13认同)
  • 这实际上会输出以下格式的字典列表: [{'area': 10, 'count': 7}, {'area': 20, 'count': 5}...] 而不是键 - >值字典。 (5认同)