我引用的数据框如下(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柱sum
或var
那么这将导致语法错误。
因此,我强烈建议您使用方括号来选择列。
...使用进行编码。使用的原因是我想要自动化许多工作流,因此动态地创建它们对我会很有用。 我的两个输入数据流是: 我试图更好地理解的和参数,以确定如何最好地解决我的问题。我已经看过了文件,但我并不清楚其中的区别。 应使用哪些参数来确保代码以最大性能工作? 是否有方法将表达式的结果赋回到? 另外,为了使事情更加复杂,如何将作为字符串表达式中的参数传递?
问题内容: 考虑这个简单的例子 我想编写一个以数据框和列为输入的函数。 现在这有效: 这也适用: 但这 失败了 怎么了 我担心使用某些 链接 可能会产生一些细微的错误(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
问题内容: 我有一个数据框df 添加了新列 现在,我想编写一个将进行日期比较的函数或宏,创建一个新的数据框,也向数据框添加一个新列。 我这样尝试过,但似乎我做错了: 现在,当我调用测试函数时,我希望创建一个名为的新数据框,并且此新数据框应再增加一列,该列的所有行的值均为。 新数据框的输出为: df_new_201612 问题答案: 创建具有动态名称的变量通常是一个坏习惯。 我认为针对您的问题的最佳