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

熊猫数据框评估中的动态列名称

夹谷星剑
2023-03-14
问题内容

我引用的数据框如下(Sales是列名):

total = pd.to_numeric(sales_df.Sales.str.replace("$", "")).sum()

但是我不想Sales被硬编码,我想要一个变量来使其动态。怎么做?

TIA


问题答案:

您可以使用方括号对列进行索引:

df['col_name']

因此,当您接受输入为a时,str您可以执行以下操作:

total = pd.to_numeric(sales_df[user_input_name].str.replace("$", "")).sum()

此外,将列作为属性访问可能导致模棱两可的行为。如具有列命名index,并尝试做df.index这可能要列不同的值df['index'],或者如果你有一个名为一样像任何有效的方法DF柱sumvar那么这将导致语法错误。

因此,我强烈建议您使用方括号来选择列。



 类似资料:
  • ...使用进行编码。使用的原因是我想要自动化许多工作流,因此动态地创建它们对我会很有用。 我的两个输入数据流是: 我试图更好地理解的和参数,以确定如何最好地解决我的问题。我已经看过了文件,但我并不清楚其中的区别。 应使用哪些参数来确保代码以最大性能工作? 是否有方法将表达式的结果赋回到? 另外,为了使事情更加复杂,如何将作为字符串表达式中的参数传递?

  • 问题内容: 考虑这个简单的例子 我想编写一个以数据框和列为输入的函数。 现在这有效: 这也适用: 但这 失败了 怎么了 我担心使用某些 链接 可能会产生一些细微的错误(https://pandas.pydata.org/pandas- docs/stable/indexing.html#why-does-assignment-fail-when-using-chained- indexing )

  • 我想使用两列作为行ID,同时计算基于时间的分组。请看下图: 转化成这样: 正在发生的是,X在时间10发生了0次,但在15和23发生了1次。 Y在10点钟发生了3次,但在15和23没有。等等。

  • 问题内容: 我有两个具有以下列名称的数据框: 我想通过加入(左)on获得以下列的数据框: 如果我要连接的列不是索引,我无法弄清楚该怎么做。最简单的方法是什么?谢谢! 问题答案: 您可以按以下方式使用left_on和right_on选项: 从问题中我不能确定您是否只想合并密钥是否位于左侧数据框中。如果是这种情况,则以下将执行此操作(以上内容实际上会进行多对多合并)

  • 问题内容: 给定两个数据框 我想使用对一列或多列进行算术运算pd.eval。具体来说,我想移植以下代码: …使用进行编码eval。使用的原因eval是我想自动执行许多工作流程,因此动态创建它们对我很有用。 我试图更好地理解和参数,以确定如何最好地解决我的问题。我已经浏览了文档,但是对我而言,区别并不明显。 应该使用什么参数来确保我的代码以最高性能工作? 有没有一种方法可以将表达式的结果赋值给df2

  • 问题内容: 我正在寻找一种方法来反向旋转数据框。据我所知,pandas提供了一种pivot或pivot_table方法将EAV df转换为“普通”方法。但是,还有一种方法可以做逆运算吗? 所以给定数据框: 我想将其转换为(EAV模型): 这样做最有效的方法是什么? 问题答案: 假设是索引,将执行以下操作: 如果不是索引,请像这样设置: