当用户购买某个类别时,是否查找其他类别的销售?

2024-10-01 16:42:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下格式的数据。它是不同类别的用户标识级别的销售日期。你知道吗

id  cat_1   cat_2   cat_3
1     1      10      100
2     2      0        0
3     0      20       0
5     3      0        0
6     4      0        0
9     5      0        0
10    0     30       200
11    6     0        300
12    7     0         0
13    8     40      400

我想要的数据,如什么是其他类别的销售,当一个用户购买了一些类别。当类别1不等于0时,类别2和类别3的销售额是多少。你知道吗

      cat_1  cat_2  cat_3
cat_1   36   50     800
cat_2   9   100     700
cat_3   15  80      1000

它可以在excel中完成,但是通过pandas寻找方法。你知道吗


Tags: 数据方法用户idpandas格式级别类别
2条回答

通过^{}^{}>)对筛选行的总和使用字典理解,通过^{}连接在一起,并通过^{}重塑形状:

#if id is not index
df = df.set_index('id')
df = pd.concat({x:df[df[x].gt(0)].sum() for x in df.columns}).unstack()
#alternative
#df = pd.concat({x:df[df[x].gt(0)].sum() for x in df.columns}, axis=1).T

print (df)
       cat_1  cat_2  cat_3
cat_1     36     50    800
cat_2      9    100    700
cat_3     15     80   1000
arr = np.empty([df.shape[1], df.shape[1]])
for indexi,i in enumerate(df):
    for indexj,j in enumerate(df):
        arr[indexi][indexj] = sum(df[df[i]>0][j])

相关问题 更多 >

    热门问题