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

在熊猫中使用列名作为新属性

巫朝明
2023-03-14
问题内容

我有以下数据结构

Date         Agric  Food 
01/01/1990    1.3   0.9  
01/02/1990    1.2   0.9

我想将其转换为格式

Date        Sector  Beta
01/01/1990  Agric   1.3
01/02/1990  Agric   1.2
01/01/1990  Food    0.9
01/02/1990  Food    0.9

虽然我确定可以用复杂的方式完成此操作,但是有几行代码可以执行此操作吗?


问题答案:

使用 pd.DataFrame.melt

df.melt('Date', var_name='Sector', value_name='Beta')

         Date Sector  Beta
0  01/01/1990  Agric   1.3
1  01/02/1990  Agric   1.2
2  01/01/1990   Food   0.9
3  01/02/1990   Food   0.9


 类似资料:
  • 我有这个原始数据帧: > 可能有多行具有相同的日期时间,如示例所示。 列< code>column中可能不止有两个不同的值,这是一个简化的示例。 所有值都是整数。 我想创建这个新的数据框: 需要采取的行动: > 对于列<code>列<code>中的每个唯一值,创建一个新列,该值作为列的名称。 对于每个唯一的日期时间,创建一个新行。 根据原始列填充值,如果没有值,则使用 NaN。 创建原始数据帧的代

  • 问题内容: 题 我在弄清楚如何根据其他两列中的值创建新的DataFrame列时遇到麻烦。我需要使用if / elif / else逻辑。但是我发现的所有文档和示例仅显示了if / else逻辑。这是我正在尝试做的一个示例: 码 我也愿意使用where()。只是找不到正确的语法。 问题答案: 如果您有多个分支语句,则最好创建一个接受行的函数,然后将其应用于。这通常比通过行迭代要快得多。

  • 问题内容: 我有一个像这样的电子表格: 我不想手动将列与行交换。是否可以使用熊猫将数据读取到列表中,如下所示: 问题答案: 是的,使用set_index可以创建行索引。 如果未提供,则返回修改后的数据帧。 例:

  • 我有一个数据框架,其中有一列用于分组和问题答案列: 我想将问题的列移到行中,这样所需的数据框将如下所示: ...依此类推,直到最后一行: 最好的方法是什么?

  • 问题内容: 我最近发现了熊猫的“分配”方法,我发现它非常优雅。我的问题是新列的名称被指定为关键字,因此它不能包含空格或破折号。 但是如果我想将新列命名为“ ln(A)”怎么办?例如 我知道我可以在.assign调用之后立即重命名该列,但是我想了解更多有关此方法及其语法的信息。 问题答案: 您可以将关键字参数传递为字典,如下所示: