问题标签 [pandas-apply]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pandas resample 应用 np.average
我有时间序列“半小时”数据。我需要在重新采样期间demand
使用加权平均值(使用price
)重新采样到“1 天”。
dft
我想重新采样demand
到1D
(1天),使用price
列作为权重,使用np.average()
我看过一些例子,但有些东西不是很点击。我得到的最接近的是:
但问题是这给出了:
axis=0
未指定时,错误为:
问题可能在于如何weights
指定。权重的长度必须为 48,但我怀疑 lambda 函数使用的是price
. 谢谢!
python - pandas,申请后保留 groupby 组
我想groupby
在我的数据框上使用,然后在每个组上使用apply
.
作为第一个原型,我设置了一个示例,将数据帧的条目从字符串转换为数字。数据框如下所示:
生成的数据框是:
此数据框中的数字是字符串。因此,在我可以使用任何数学运算之前,必须将它们转换为数字类型。这就是我想做的应用:
但结果是包含所有项目的单个系列:
我已经为此阅读了文档。显然你可以使用transform
or apply
。在样本中,似乎保留了分组结构。
也许它与某些东西有关pd.to_numeric
?所以我尝试了:
这会导致 TypeError:
TypeError:无法将系列转换为
显然,应用程序将整个组作为参数。每组的结果似乎都连接到一个数据帧中。
是否可以以保持分组结构的方式使用 apply ?我想要一个调用,将函数应用于组内的每一列并保留组。然后我可以链接电话。
我发现的一个相关问题是: pandas: sample groups after groupby
但答案建议在分组之前应用该功能。这不适用于链接功能。而对于像mean()
.
python - 熊猫中的时间相关等级自相关
我有一个这种示意图形式的 MultiIndex pandas DataFrame(尽管我正在使用的真实数据框有数百万行):
按产品和时间分组,我希望跨场景的“价格”排名自相关,示意性定义如下(按产品):
(时间 t 的秩自相关)= 秩相关(时间 t 的“价格”,时间 t+1 的“价格”)
其中 ('Price' at time t) 是一个包含与场景一样多的条目的向量(每个产品都有一个这样的向量)。例如,对于时间 t=2 的产品“Alpha”,所需数量为
给出 0.5。对于最后一个时间步(在这种情况下为 t=3),它应该简单地返回 NaN(因为没有 t+1 的数据)。总而言之,所需的结果数据框应该是:
我想从类似的东西开始
df.groupby(['Product','Time']).agg(自相关函数)
但是聚合操作需要来自两个不同组的数据(即不同时间的组),到目前为止我还没有找到一种方法来做到这一点。有任何想法吗?
python - Grouped-By DataFrame:在函数的当前行和上一行中使用列值
我有一个具有这种结构的数据框:
这是它的外观:
现在,我想按id
. 然后,我想使用coords
. 这些应该在函数中用于计算两个坐标之间的距离:
这是我尝试过的:
vincenty(x,y)
期望x
像 (10, 20) 一样,y
并且返回一个浮点数。
显然,这是行不通的。该函数接收两个 Series 对象而不是两个列表。所以可能使用x.values.tolist()
应该是下一步。但是,我对事物的理解到此为止。因此,我将不胜感激有关如何解决此问题的任何想法!
pandas - 如何调试熊猫 groupby 应用功能
我试图理解我的前同事编写的函数。
我无法完全理解上面的函数,所以我试图分组并实际查看date_str = str(group['CallerLocal_Date'].iloc[-1]) + ' {0}:00:00'
行的作用。
df
看起来像这样
所以我定义
并打电话
然后我得到了
有人可以指出如何在不使用apply
函数的情况下调试 groupby 对象吗?
python - 应用函数以创建具有多列作为参数的字符串
我有一个这样的数据框:
我想用一个句子创建一个新列,如下所示:
它会是这样的:
但是,显然这种合成器不起作用。
有人对此有什么建议吗?
python-3.x - 应用 Python lambda:如果条件给出语法错误
这是我的数据集
使用以下方法时出现语法错误。请帮帮我。我希望“sex”表中的值根据“Rings”表进行更改。如果“Rings”值小于 10,则相应的“sex”值应更改为“K”。否则,不应更改“性”表。
文件“”,第 1 行 fake_abalone2["sex"]=fake_abalone2["Rings"].apply(lambda x:"K" if x<10)
SyntaxError:无效的语法
python - Dataframe 上的 Panadas 条件返回 TypeError:在“str”和“int”的实例之间不支持“>”
我正在使用 pandas 处理 DataFrame,我需要根据某些条件添加一个新列。
我的数据框是:
在向 DataFrame添加一个名为Class的新列时,我需要应用一些条件。
条件如下: IF discount > 20 & total > 100 & tax == 0
then Class应为1
否则应为0
这是我尝试过的方法:
但它返回一个错误:
TypeError: ("'>' not supported between 'str' and 'int'", 'occured at index 18')
我该如何解决这个问题?
请帮帮我!
提前致谢!
python - 通过在字符串值中查找子字符串来更改列值
我正在尝试使用 pandas apply() 更改单个列中的值。我的功能部分工作,但我坚持如何修复另一半。
数据栏:
County Name
Riverside County
San Diego County
SanFrancisco County/city
我正试图摆脱“县”,所以我只剩下县名。我使用该功能成功摆脱了“县”,但在从旧金山删除“县/市”时遇到了麻烦。
代码:
输出:
函数中的条件有问题吗?