【问题标题】:how do i combine a list of dictionaries into a single dictionary? [duplicate]如何将字典列表合并到一个字典中? [复制]
【发布时间】:2017-11-27 04:46:16
【问题描述】:

我有一个包含字典列表的嵌套字典。如何拆分它们?

输入

df=pd.DataFrame({'Hashtags' : [{u'indices': [53, 65], u'text': u'Predictions'}, {u'indices': [67, 76], u'text': u'FreeTips'}, {u'indices': [78, 89], u'text': u'SoccerTips'}, {u'indices': [90, 103], u'text': u'FootballTips'}, {u'indices': [104, 110], u'text': u'Goals'}]})

预期输出:

{'Hashtags' :["u'Predictions'", "u'SoccerTips'", "u'FootballTips'", "u'Goals'"]}

【问题讨论】:

  • 在数据框中重要吗?
  • @ason​​gtoruin 这个问题没有答案。它不能被视为重复。
  • @Mr.Xcoder 是什么让你这么认为?即使两个问题都没有答案,它也可能是重复的。 :)
  • @Mr.Xcoder 这是两次发布的同一个问题 - 对我来说似乎是“重复”的定义。
  • @MSeifert,真的很抱歉,再次发布此消息。我认为这个问题没有引起任何人的注意,或者人们忽略了它。所以我又问了同样的问题。

标签: python list pandas dictionary


【解决方案1】:
df = pd.DataFrame({'Hashtags' : [{u'indices': [53, 65], u'text': u'Predictions'}, {u'indices': [67, 76], u'text': u'FreeTips'}, {u'indices': [78, 89], u'text': u'SoccerTips'}, {u'indices': [90, 103], u'text': u'FootballTips'}, {u'indices': [104, 110], u'text': u'Goals'}]})

texts = [x['text'] for x in df.values.flatten()]

output = {'Hashtags': texts }

【讨论】:

  • 我已经尝试过了,它给了我以下错误:df2=pd.read_csv('final.csv') datas=df2.Hashtags texts = [xz['text'] for xz in datas.values.flatten()] output = {'Hashtags': texts } Traceback (most recent call last): File "<ipython-input-160-15004657b9ea>", line 3, in <module> texts = [xz['text'] for xz in datas.values.flatten()] TypeError: string indices must be integers, not str
猜你喜欢
  • 2011-03-30
  • 2019-03-12
  • 2017-04-11
  • 2020-11-25
  • 2017-01-04
  • 1970-01-01
  • 2020-11-13
相关资源
最近更新 更多