假设以下DataFrame:
key.0 key.1 key.2 topic
1 abc def ghi 8
2 xab xcd xef 9
如何将所有key。列的值组合到一个单独的列“ key”中,该列与与key。列对应的主题值相关联?这是我想要的结果:
topic key
1 8 abc
2 8 def
3 8 ghi
4 9 xab
5 9 xcd
6 9 xef
请注意,key.N列的数量在某些外部N上是可变的。
您可以融化数据框:
>>> keys = [c for c in df if c.startswith('key.')]
>>> pd.melt(df, id_vars='topic', value_vars=keys, value_name='key')
topic variable key
0 8 key.0 abc
1 9 key.0 xab
2 8 key.1 def
3 9 key.1 xcd
4 8 key.2 ghi
5 9 key.2 xef
它还为您提供了密钥的来源。
从v0.20
,melt
是第一类功能pd.DataFrame
类:
>>> df.melt('topic', value_name='key').drop('variable', 1)
topic key
0 8 abc
1 9 xab
2 8 def
3 9 xcd
4 8 ghi
5 9 xef
问题内容: 我在数据库中有一个表,该表有9列包含相同种类的数据,这些值 允许为null 。我需要将每个非null值选择到单列的值中,这些值不关心它们源自的行的身份。 因此,对于一个看起来像这样的表: 我希望将每个以x开头的值选择到一列中。我得到的数据应如下表所示。需要保留顺序,因此第一行的第一列值应该在顶部,而最后一行的最后列值应该在底部: 我正在使用 SQL Server 2008 R2 。是否
问题内容: 我必须在一行中显示单个人的多个收入,收入类型和雇主名称值。因此,如果“ A”有来自三个不同来源的三个不同的收入, 我需要向他们展示 我既需要“固定列数”(我们知道雇主,收入类型和金额列将要重复多少次)逻辑又需要“动态显示列”(未知这些列要重复的次数) 谢谢。 问题答案: 由于使用的是SQL Server,因此有几种方法可以将数据行转置为列。 聚合函数/ CASE: 您可以将聚合函数与C
如果输入数据看起来像这样: 我怎样才能把它变成这样?
问题内容: 我正在寻找一种方法来反向旋转数据框。据我所知,pandas提供了一种pivot或pivot_table方法将EAV df转换为“普通”方法。但是,还有一种方法可以做逆运算吗? 所以给定数据框: 我想将其转换为(EAV模型): 这样做最有效的方法是什么? 问题答案: 假设是索引,将执行以下操作: 如果不是索引,请像这样设置:
问题内容: 我有一个这样的熊猫数据框: 我现在想做的是获取一个包含Column1和新columnA的新数据框。此columnA应该包含第2列-(to)n的所有值(其中n是从Column2到行尾的列数),如下所示: 我如何最好地解决这个问题?任何意见将是有益的。提前致谢! 问题答案: 您可以按行调用pass ,然后将dtype转换为和: 在这里,我呼吁摆脱,但是我们需要再次强制转换为,这样我们才不会
问题内容: 每个浏览器都不同,因此: Firefox(壁虎): https : //dxr.mozilla.org/mozilla-central/source/layout/style/res/html.css。或者,浏览resource://gre-resources/并查看html.css。 Chrome / Safari(WebKit): http : //trac.webkit.org/