1
我的數據框看起來是這樣的:熊貓據幀過濾統計
item_id sales_quantity
1 10
1 11
1 1
1 2
... ...
10 1
10 9
... ...
我想篩選出對應於出現小於100倍item_id
的所有行。這裏是我的嘗試:
from pandas import *
from statsmodels.tsa.stattools import adfuller
def adf(X):
result = adfuller(X)
print('ADF Statistic: %f' % result[0])
print('p-value: %f' % result[1])
print('Critical Values:')
for key, value in result[4].items():
print('\t%s: %.3f' % (key, value))
filtered = df.groupby('item_id_copy')['sales_quantity'].filter(lambda x: len(x) >= 100)
df[df['sales_quantity'].isin(filtered)]
df['sales_quantity'].groupby(df['item_id_copy']).apply(adf)
但是,當我運行以下命令: df['sales_quantity'].groupby(df['item_id_copy']).size()
,我得到很多尺寸小於100有人能告訴我什麼是錯我的代碼ITEM_IDS的?
我看到'item_id'計數均高於和低於100,當我運行上述語句('DF [「sales_quantity」] GROUPBY更大。 (df ['item_id_copy'])。size()') – user1274878
嗯,我不確定是否理解。 'groupby'的'filter'應該返回所有組的條件。它不適合你? – jezrael
我添加一些示例,給我一些時間。 – jezrael