所以我目前有一个字符串列表:
name_row = ['Bob', 'Jerry', 'Will']
rating_row = ['4.0', '2.5', '3.7']
title_row = ['Geat', 'Okay', 'Nice']
我想要的结果是这样的:
名字 | 评分 | 标题 |
---|---|---|
鲍勃 | 4.0 | 很棒 |
杰瑞 | 2.5 | 好的 |
会 | 3.7 | 不错 |
到目前为止我所拥有的是
rows = []
row = {}
name_row = ['Bob', 'Jerry', 'Will']
rating_row = ['4.0', '2.5', '3.7']
title_row = ['Geat', 'Okay', 'Nice']
for name in name_row:
row['Name'] = row.get(name)
rows.append(row)
df = (pd.DataFrame(rows))
但是当我调用 df 时我得到 {'Name':none} 并且我不知道如何将这些字符串从列表中添加到字典中?
答案 0 :(得分:2)
试试:
df = pd.DataFrame({'Names': name_row, 'Rating': rating_row, 'Title': title_row})
print(df)
# Names Rating Title
# 0 Bob 4.0 Geat
# 1 Jerry 2.5 Okay
# 2 Will 3.7 Nice
此构造在 doc 中有解释。特别是,请阅读其中的第一个示例:
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
# df
# col1 col2
# 0 1 3
# 1 2 4
答案 1 :(得分:2)
所以,你的第一个问题是行中没有任何东西,所以当你打电话时
row.get(name)
没有什么可以得到的。因此 {'Name':none} 输出。
如果您已经有了 3 行,那么获得所需结果的最简单方法是:
df = pd.DataFrame({'Names': name_row, 'Rating': rating_row, 'Title': title_row})
使用带有这些参数的 DataFrame() 方法将列名称设置为“名称”、“评级”和“标题”。每个列名成为字典中的键,其中每个键的值成为您现有的字符串列表。现在,您的数据框是 [String: List of String]
的字典