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

pandas:如何将行中的一列转换为列

钱澄邈
2023-03-14
问题内容

给定此数据框:

   feature score    searchTerm
0   a      0.534509 pizza
1   b      0.586020 pizza
2   c      0.588972 pizza
3   a      0.566261 chinese
4   b      0.572405 chinese
5   c      0.489369 chinese
6   a      0.499068 thai
7   b      0.431068 thai
8   c      0.441617 thai

功能仅限于(abc

我想将数据框转到此:

   a        b        c          searchTerm
   0.534509 0.586020 0.588972   pizza
   0.566261 0.572405 0.489369   chinese    
   0.499068 0.431068 0.441617   thai
   ...
   ...

问题答案:

您可以使用pivot

df1 = df.pivot(index='searchTerm', columns='feature', values='score').reset_index()
print (df1)
feature searchTerm         a         b         c
0          chinese  0.566261  0.572405  0.489369
1            pizza  0.534509  0.586020  0.588972
2             thai  0.499068  0.431068  0.441617

最后,您可以按删除列名rename_axispandas 0.18.0):

df1 = df1.rename_axis(None, axis=1)
#pandas bellow 0.18.0
#df.columns.name = None
print (df1)
  searchTerm         a         b         c
0    chinese  0.566261  0.572405  0.489369
1      pizza  0.534509  0.586020  0.588972
2       thai  0.499068  0.431068  0.441617


 类似资料:
  • 问题内容: 我的数据集具有n个日期的位置信息。问题在于每个日期实际上是一个不同的列标题。例如,CSV看起来像 我想要的是它看起来像 问题是我不知道列中有多少个日期(尽管我知道它们总是以名字开头) 问题答案: 从v0.20开始,melt是一阶函数,你现在可以使用

  • 问题内容: 我有以下Python pandas数据框: 我想要: 我看过pivot(),pivot_table(),Transpose和unstack(),它们似乎都没有给我。熊猫新手,所以所有帮助表示赞赏。 问题答案: 您需要通过转置: 如果需要重命名列,则有点复杂: 另一个更快的解决方案是使用: 时间 :

  • 所以我的数据集有一些n个日期的位置信息。问题是每个日期实际上是不同的列标题。例如CSV看起来像 我想让它看起来像 我的问题是我不知道该列中有多少个日期(尽管我知道它们总是在name之后开始)

  • 大家好,我有一个数据集,看起来像下面的df1,我想让它看起来像使用熊猫的df2。我曾经尝试过使用枢轴和转置,但我不知道该怎么做。谢谢你的帮助!

  • 问题内容: 嗨,我有一个这样的数据框: 我想将其更改为: 我怎样才能做到这一点? 问题答案: 您可以这样操作:

  • 问题内容: 我有以下数据框: 我要这样 堆叠/堆叠似乎不起作用。 问题答案: 您正在寻找: 以及是否要重新排列列:

  • 问题内容: 我在pandas数据框中的某个列的类型有问题。基本上,该列以字符串形式保存在csv文件中,我想将其用作元组,以便能够将其转换为数字列表。接下来是一个非常简单的csv: 如果使用函数“ read_csv”加载它,则会得到字符串列表。我试图转换为列表,但是得到了字符串的列表版本: 返回: 关于如何做到这一点的任何想法吗? 谢谢。 问题答案: 您可以使用,这将给您一个元组: 如果确实需要列表

  • 问题内容: 我在以字符串格式导入的pandas DataFrame中有一个字段。它应该是日期时间变量。如何将其转换为datetime列,然后根据日期进行过滤。 例: DataFrame Name: raw_data Column Name: Mycol Value Format in Column: ‘05SEP2014:00:00:00.000’ 问题答案: 使用该函数,指定一种格式以匹配您的数