![](/img/trans.png)
[英]How do I split a list of dicts in python into columns with names of the values?
[英]How do I get a list values and columns using python?
为这个愚蠢的问题道歉,但是....
我有一个 dataframe(在 python 中使用 pandas,带有标题),看起来像这样:
Pink Blue Yellow Green
--------- ------- -------- -------
Jackson Bryan Bruce Benji
James Jonah Jenny Kevin
Tyson Jenna Mike none
Kendall Amy Alison none
Ben none none none
如何获得如下所示的团队和名称列表?
Pink Jackson
Pink James
Blue Bryan
...
Green Kevin
如果我做对了,您希望拥有所有列名 + 值对。 pd.melt可以为您做到这一点:
df = pd.DataFrame({"Pink": ["Jackson", "James"], "Blue": ["Bryan", None]})
pd.melt(df)
结果:
variable value
0 Pink Jackson
1 Pink James
2 Blue Bryan
3 Blue None
如果你只想要一个二维 numpy 数组,你可以这样做:
pd.melt(df).values
结果:
array([['Pink', 'Jackson'],
['Pink', 'James'],
['Blue', 'Bryan'],
['Blue', None]], dtype=object)
正如 matman9 指出的那样,只需在 .values 之后添加一个.values
.tolist()
即可获得 python 列表。
除了较早的答案,我建议过滤掉None
:
for t in filter(lambda x: x[1], pd.melt(df).values.tolist()):
print('{:8} {}'.format(*t))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.