python - 从字典创建 Dataframe,该字典为每个键分配了多个值

标签 python pandas dataframe

我是使用 pandas 和 Dataframes 的初学者。

这是字典:

names_values = {"Alex":[1,2,3,4,5],"Sam":[5,6,7,8,9]}

我希望数据框看起来像这样:

   name  value
0  Alex    1.0
1  Alex    2.0
2  Alex    3.0
3  Alex    4.0
4  Alex    5.0
5   Sam    5.0
6   Sam    6.0
7   Sam    7.0
8   Sam    8.0
9   Sam    9.0

我的方法是:

df = pd.DataFrame({"name":[],"value":[]})

for name in names_values.keys():
    for i in range(len(names_values[name])):
        df = df.append({"name": name, "value": names_values[name][i]}, ignore_index=True)

这给了我想要的结果,但我想知道是否有一种通用/更有效的方法来获得相同的结果。

谢谢

最佳答案

使用 pandas.Dataframe.melt 的一种方法:

df = pd.DataFrame(names_values).melt(var_name='name')
print(df)

输出:

   name  value
0  Alex      1
1  Alex      2
2  Alex      3
3  Alex      4
4  Alex      5
5   Sam      5
6   Sam      6
7   Sam      7
8   Sam      8
9   Sam      9

关于python - 从字典创建 Dataframe,该字典为每个键分配了多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59622045/

相关文章:

python - 在 Python Matplotlib 中绘制静态生命游戏模式

python - 可视化 pandas/numpy 中的共现矩阵

python - 如何迭代数据框以将字典解压到新的数据框中

python - 在 Pandas 数据帧中查找 "best"切片而不循环

R:如何整合这些数据框?

python - Pandas 数据框 : Replacing NaN with row average

python - Pandas :如何为系列中的每个值重复数据框?

python - Python中的十进制对齐格式

python - 如何在 gimp python-fu 中使用当前画笔大小进行绘制?

python - 在 GTK+ TreeView 中显示异构数据