问题标签 [pandas-groupby]
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 Dataframe:如何在其他列中添加出现次数的列
我必须关注df:
我想得到
我试过使用:
但这没有帮助。我有一个充满“NaN”的 Occur 列
python - 熊猫:在 groupby 'date' 中删除重复项
在下面的数据框中,我想消除重复cid
值,以便输出df.groupby('date').cid.size()
与df.groupby('date').cid.nunique()
.
我看过这篇文章,但似乎没有解决问题的可靠方法。
我尝试过的事情:
df.groupby([df['date']]).drop_duplicates(cols='cid')
给出这个错误:AttributeError: Cannot access callable attribute 'drop_duplicates' of 'DataFrameGroupBy' objects, try using the 'apply' method
df.groupby(('date').drop_duplicates('cid'))
给出这个错误:AttributeError: 'str' object has no attribute 'drop_duplicates'
pandas - 如何根据聚合对熊猫组进行排序
假设我有一个数据框 df 并在其上使用了 groupby 。如何对这些组进行排序?我希望首先在 B 列中具有最高中位数的组,最后是中位数最低的组。我知道如何对中位数进行排序:
但是我将如何对这些组进行实际排序(而不是他们的中位数)?
python - 为什么熊猫滚动使用一维ndarray
我有动力使用 pandasrolling
功能来执行滚动多因素回归(这个问题不是关于滚动多因素回归)。我希望我能够apply
在 a 之后使用df.rolling(2)
并pd.DataFrame
提取 ndarray.values
并执行必要的矩阵乘法。结果不是这样。
这是我发现的:
对象是什么样子的:
矩阵乘法行为正常:
使用 apply 逐行执行点积的行为符合预期:
Groupby -> Apply 的行为符合我的预期:
但是当我运行时:
我得到:
AttributeError:“numpy.ndarray”对象没有属性“值”
好的,所以 pandasndarray
在其rolling
实现中直接使用。我可以处理。而不是使用.values
来获取ndarray
,让我们尝试:
形状 (1,) 和 (2,1) 未对齐:1 (dim 0) != 2 (dim 0)
等待!什么?!
所以我创建了一个自定义函数来查看滚动在做什么。
然后跑:
我的结果pd.DataFrame
是一样的,那很好。但它打印出 10 个一维ndarray
对象。关于什么rolling(2)
同样的事情,期望输出,但它打印了 8ndarray
个对象。 rolling
正在为每列生成一维ndarray
长度window
,而不是我预期ndarray
的形状(window, len(df.columns))
。
问题是为什么?
我现在没有办法轻松运行滚动多因素回归。
python - pandas groupby 删除列
我正在做一个简单的分组操作,试图比较分组方式。正如您在下面看到的,我从一个较大的数据框中选择了特定的列,其中所有缺失值都已删除。
但是当我分组时,我丢失了几列:
我从来没有在 pandas 上遇到过这种情况,而且我在堆栈溢出上也没有发现任何类似的东西。有没有人有任何见识?
python - Pandas - 在 groupby 中获取值作为频率
有人可以帮我处理熊猫中的(可能的)groupby。
这是df:
然后我希望每个计数作为按捐助者分组的计数总和的频率。
喜欢:
然后,如果它们与 easy_donor 列匹配,则原始数据框中的每个计数除以 groupby 总和。我必须加入原始数据框吗?
python - 选择具有超过 x 个成员的组
pandas 有没有办法从分组数据框中选择具有超过 x 个成员的组?
就像是:
我在文档或 SO 上找不到解决方案。
python-3.x - Pandas 按递增顺序编号组内的行数
给定以下数据框:
我想创建列'C',它对列A和B中每个组内的行进行编号,如下所示:
到目前为止,我已经尝试过:
......但它不起作用!
python - Pandas Groupby TimeGrouper 并申请
根据这个问题。此 groupby 在应用于我df
的pd.rolling_mean
列时有效,如下所示:
如何将相同的 groupby 逻辑应用于df
包含pd.rolling_std
and的另一个元素pd.rolling_mean
:
python - 如何使用 groupby 在 python pandas 中连接字符串?
我目前在顶部有数据框。有没有办法使用 groupby 函数来获取另一个数据框来对数据进行分组并将单词连接成下面使用 python pandas 的格式?
谢谢
[