Python中文
首页
教程
问答
标签
搜索
登录
注册
从列中创建虚拟对象
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>df3['col_two']具有电影类型的嵌套列表。我试着为每一行关于这些类型的假人。我想我遇到的问题是str.get\u dummies()很管用,但它当然会把“冒险”和“冒险”当作两个不同的东西来读,但我想要的显然是每个流派都有一个专栏(即一个专栏代表冒险)</p> <p>我尝试过pd.series.replace(),如下所示:</p> <pre><code>df3['col_two'].replace({'[':''}) </code></pre> <p>或者像这样的数组</p> <pre><code>df3['col_two'] = np.array(df3['col_two']) </code></pre> <p>但它们都给出了相同的错误:</p> <pre><code>AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas </code></pre> <pre><code>df['genres'] = df['genres'].str.split(pat='|') df3 = pd.melt(df, id_vars=['id'], value_vars=['genres'], var_name='col_one', value_name='col_two') df3.head() id col_one col_two 0 135397 genres [Action, Adventure, Science Fiction, Thriller] 1 76341 genres [Action, Adventure, Science Fiction, Thriller] 2 262500 genres [Adventure, Science Fiction, Thriller] 3 140607 genres [Action, Adventure, Science Fiction, Fantasy] 4 168259 genres [Action, Crime, Thriller] df4 = df3["col_two"].str.get_dummies(",") df4.head() 'Action' 'Action'] 'Adventure' 'Adventure'] 'Animation' 'Animation'] 'Comedy' 'Comedy'] 'Crime' 'Crime'] ... ['Romance'] ['Science Fiction' ['Science Fiction'] ['TV Movie' ['Thriller' ['Thriller'] ['War' ['War'] ['Western' ['Western'] 0 0 0 1 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 1 0 ... 0 0 0 0 0 0 0 0 0 0 </code></pre> <p>我想做的是每个流派有一个列,没有奇怪的重复,因为不需要额外的字符,如“]”等,以及通常的0或1虚拟变量沿列</p> <p>为最后一个df的奇怪布局道歉,并提前感谢您的每一个回答</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>dummified列的一个简单的<strong>.join</strong>应该可以很好地工作。试试这个:</p> <pre><code>df = df[['id', 'col_one']].join(df['col_two'].str.join('|').str.get_dummies().add_prefix('GENRE_')) </code></pre> <p>让我知道这是否适合你</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Django:。是不是“超级用户”字段不起作用
7 回答
Django:'DeleteQuery'对象没有属性'add'
3 回答
Django:'ModelForm'对象没有属性
7 回答
Django:'python manage.py runserver'返回'TypeError:'WindowsPath'类型的对象没有len()
3 回答
Django:'Python管理.pysyncdb'不创建我的架构表
1 回答
Django:'Python管理.py迁移“耗时数小时(和其他奇怪的行为)
4 回答
Django:'readonly'属性在我的ModelForm上不起作用
3 回答
Django:'RegisterEmployeeView'对象没有属性'object'
7 回答
Django:'str'对象没有属性'get'
1 回答
Django:'创建' 不能被指定为Order模型表单中的值,因为它是一个不可编辑的字段
7 回答
Django:“'QuerySet'类型的对象不是JSON可序列化的”
9 回答
Django:“'utf8'编解码器无法解码位置19983中的字节0xe9:无效的连续字节”,加载临时文件时
4 回答
Django:“<…>”需要有一个字段“id”的值,然后才能使用这个manytomy关系
1 回答
Django:“AnonymousUser”对象没有“get_full_name”属性
7 回答
Django:“ascii”编解码器无法解码位置1035中的字节0xc3:序号不在范围内(128)
2 回答
Django:“BaseTable”对象不支持索引
6 回答
Django:“collections.OrderedDict”对象不可调用
9 回答
Django:“Country”对象没有属性“all”
10 回答
Django:“Data”对象没有属性“save”
7 回答
Django:“datetime”类型的对象不是JSON serializab
5 回答