Python 如何转换coulmn的值列表并将其赋值为0或1
如果特定项目是由该用户购买的,我将尝试分配一个1或零。下面是使用的数据集。当我使用假人时,我得到了“[”括号 DF: 输出:Python 如何转换coulmn的值列表并将其赋值为0或1,python,python-3.x,pandas,Python,Python 3.x,Pandas,如果特定项目是由该用户购买的,我将尝试分配一个1或零。下面是使用的数据集。当我使用假人时,我得到了“[”括号 DF: 输出: [111 222 [333 444 [555 A 1 0 1 1 0 B 0 0 1 1 1 C 1 0 1 0 1 D 0 1 1 0 0 E 1 0 1 1 1 F 1 1 0 0 1 代码: (df.set_index('user')['
[111 222 [333 444 [555
A 1 0 1 1 0
B 0 0 1 1 1
C 1 0 1 0 1
D 0 1 1 0 0
E 1 0 1 1 1
F 1 1 0 0 1
代码:
(df.set_index('user')['items'].str.get_dummies(','))
将+用于指示器,并按+最后整形:
详细信息:
print (df.set_index('user')['items'].str.get_dummies(','))
111 222 333 444 555
user
A 1 0 1 1 0
B 0 0 1 1 1
C 1 0 1 0 1
D 0 1 1 0 0
E 1 0 1 1 1
F 1 1 0 0 1
请向我们展示您的代码、您尝试过的内容以及您需要帮助的地方。您可以展示您如何创建此dataframeitem列的代码吗?我说的对吗?在示例
111333444
中是空格还是111333444
?否spaces@jezraelYou可以添加类似的(df.set\u索引('user'))['items'].str.strip('[]').str.get_dummies('','))
userRatings=df[df.user==A][[1,2]]来提取Y/N..它给我带来了一个错误。索引超出了边界你需要什么?[1,2]
是列的位置吗?我想你需要df.loc['A'],df.columns[[0,1]]
df = (df.set_index('user')['items']
.str.get_dummies(',')
.stack()
.reset_index(name='Y/N')
.rename(columns={'level_1':'item'}))
print (df)
user item Y/N
0 A 111 1
1 A 222 0
2 A 333 1
3 A 444 1
4 A 555 0
5 B 111 0
6 B 222 0
7 B 333 1
8 B 444 1
9 B 555 1
10 C 111 1
11 C 222 0
12 C 333 1
13 C 444 0
14 C 555 1
15 D 111 0
16 D 222 1
17 D 333 1
18 D 444 0
19 D 555 0
20 E 111 1
21 E 222 0
22 E 333 1
23 E 444 1
24 E 555 1
25 F 111 1
26 F 222 1
27 F 333 0
28 F 444 0
29 F 555 1
print (df.set_index('user')['items'].str.get_dummies(','))
111 222 333 444 555
user
A 1 0 1 1 0
B 0 0 1 1 1
C 1 0 1 0 1
D 0 1 1 0 0
E 1 0 1 1 1
F 1 1 0 0 1