我想在我的熊貓數據幀中添加一個新列col
將被計算爲:熊貓集團通過獨特的計數作爲新列
select count(distinct ITEM) as col
from base_data
where STOCK > 0
group by DEPT, CLAS, DATE;
爲此我做
assort_size = base_data[(base_data['STOCK'] > 0)]\
.groupby(['DEPT','CLAS','DATE'])['ITEM']\
.transform('nunique')
基本上對於每個部門,班級,日期組合,我希望獲得庫存中存在的項目數量。所以我想要結果與父數據幀合併,但結果是作爲pandas.core.series.Series
出現,所以我不能append (axis=1)
它回來(行數不同,例如1.6 M Vs 1.4 M)。另外我沒有DEPT, CLAS, DATE
列加入。我可以在這裏做什麼來獲得按列分組的數據框?
有沒有更好的方法直接在父熊貓數據框(base_data
)中創建新列,而不是創建一個新對象,比如我正在創建assort_size
?
我用'assort_size = assort_size.to_frame()。reset_index()'將Pandas.series轉換爲'Pandas.dataFrame'。接下來的加入速度要快得多。 – abhiieor