如何使用另一列的值從一列創建多列?

湯姆

我有一個包含近 100 家商店的時間序列數據集。時間段是幾年(但不是所有商店 - 有一些新舊商店)。

店鋪編號 日期 銷售量
23 2012 年 1 月 1 日 125
23 2012 年 2 月 1 日 12
23 01Mar2012 388
... ... ...
57 01Jan2013 456
57 2013 年 2 月 1 日 555
57 01Mar2013 545
57 01Apr2013 657
... ... ...

為了執行未來銷售的預測(使用 statsmodels 的第一種方法),我決定將該 df 更改為:

日期 23_銷售 57_銷售
2012 年 1 月 1 日 125 NaN
2012 年 2 月 1 日 12 NaN
01Mar2012 388 NaN
... ... ...
01Jan2013 ... 456
2013 年 2 月 1 日 ... 555
01Mar2013 ... 545
01Apr2013 ... 657
... ... ...

我可以一一添加這些列,但我無法創建某種循環。我的做法是一一執行:

store_23 = df[df['Store_num'] == 23].copy()
store_23.set_index(store_23['date'], inplace = True)
store_23.drop(['Store', 'date'], axis = 1, inplace = True)
store_23.columns = ['23_sales']

我也在考慮創建一個銷售名稱(列名稱)列表:

df_list = df['Store_num'].unique()
y_list = [str(num) + "_y" for num in df_list]

而不是創建新的 df 並使用 groupby 添加數據,但我在這種方法中也失敗了。

誰能給我一些建議?也許我的方法完全錯誤?

扭曲的

iiuc 你想要 df.pivot:

df = pd.DataFrame(
    {
        'store_num':[0,0,0,1,1,1,2,2,2],
        'date':[1,2,3]*3,
        'sales':np.random.randint(0,10,9),
    }
)

df.pivot(index='date', columns='store_num')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 SQL 中另一列的所有唯一值創建新列

從另一列的四分位數中創建一列

根據條件使用另一列中的值創建新列

如何使用 Python 根據另一列中的某些值在 Pandas DataFrame 中創建新列?

根據另一列中的閾值創建熊貓列

分組列並為pyspark中的另一列值創建列表

根據數據框中另一列的值創建新列

通過迭代另一列來創建一列

Pandas - 從具有混合值的一列創建兩列

如何在另一列上創建具有條件的新列?

NaN时如何使用一列覆盖另一列并采用另一列值?

創建數據框時創建基於另一列的列

如何使用列表中包含的另一列中的單詞創建熊貓列

如何將值從一列傳輸到另一列

創建一列,該列採用另一列的第一個值,後續值是先前值的縮放器

如何使用特定匹配值基于另一列获取一列的值

基於一列從 CSV 文件創建多個字典

如何从另一列插入值?

在 spark DataFrame 中創建兩列,一列用於累積值,另一列用於最大連續值

如何使用以另一列为条件的值填充一列?

創建一個新列,其中包含來自另一列後續行的值列表

如何創建多對一列的獲取請求?

用另一列的值汇总多列

将一列的值基于另一列分成多列

創建分組依據的列並分析來自另一列的值窗口

如何基于另一列的唯一值获取一列的唯一值

根据另一列更改一列的值

在另一列中查找一列的值

用另一列替换一列的值

TOP 榜单

热门标签

归档