我有一个字典列表,其中包含x和y。我想将x作为索引,将y作为列标题。我该怎么做?谢谢
import pandas
pt1 = {"x": 0, "y": 1, "val": 3,}
pt2 = {"x": 0, "y": 2, "val": 6,}
lst = [pt1, pt2]
print(lst)
# [{'x': 0, 'y': 1, 'val': 3}, {'x': 0, 'y': 2, 'val': 6}]
df = pandas.DataFrame(lst)
print(df)
# val x y
# 0 3 0 1
# 1 6 0 2
如何将df转换为这种格式?谢谢。
# 1 2
# 0 3 6
答案 0 :(得分:0)
您可以使用df.pivot
:
pt1 = {"x": 0, "y": 1, "val": 3,}
pt2 = {"x": 0, "y": 2, "val": 6,}
pt3 = {"x": 1, "y": 1, "val": 4,}
pt4 = {"x": 1, "y": 2, "val": 9,}
lst = [pt1, pt2, pt3, pt4]
df = pd.DataFrame(lst)
>>> df
val x y
0 3 0 1
1 6 0 2
2 4 1 1
3 9 1 2
>>> df.pivot('x', 'y', 'val')
y 1 2
x
0 3 6
1 4 9
答案 1 :(得分:0)
我只能想到使用两个for循环来做。还有更好的方法吗?谢谢。
x = 9, y = 23
x = 10, y = 23, z = 10
x = 10, y = 23, z = 20