当前位置: 首页 > 面试题库 >

Pandas DataFrame将多列值堆叠到单列中

焦苏燕
2023-03-14
问题内容

假设以下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.20melt是第一类功能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/