从列表创建pandas数据帧首先我创建了一个字典,然后将其转换为datafram

2024-04-20 04:55:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,我已经转换为字典,并希望将字典转换为熊猫数据帧。在

我的尝试如下,但我得到以下错误:

'numpy.int64' object has no attribute 'DataFrame'

**df = pd.DataFrame.from_dict(a, orient='index')

数据示例:

^{pr2}$

下面是我用来创建数据帧的函数。最后一行是导致问题的原因。在

df = pd.DataFrame.from_dict(a, orient='index')

def list_to_dict(a_list):
    results = {}
    for i in a_list:
        i = str(i)
        if len(results.keys())==0: 
            results[i] = 1
        else:
            if i not in results.keys():
                results[i] = 1
            else:
                results[i] = results[i] + 1

    return results

flatten = df.mentions.tolist()
combined = [item for sublist in flatten for item in sublist]
a = list_to_dict(combined)
df = pd.DataFrame.from_dict(a, orient='index')

Tags: to数据infromdataframedfforindex
2条回答

您只想将键和值作为两列还是要执行其他操作?如果是前者,您只需要:

pd.DataFrame(a.items())

如果你已经掌握了样本中的口述,你可以做两个列表理解:

d = {
    'AAM': 2,
    'ABC': 5,
    'ABP': 3,
    'ABU': 1,
    'ACL': 3,
    'ACX': 6,
    'ADA': 7,
    'ADE': 2
}
pd.DataFrame([[item for item in d.keys()],[item for item in d.values()]])

结果是一个包含您数据的数据帧

^{pr2}$

相关问题 更多 >