在 Pandas 中获取虚拟变量,其中行包含多个变量作为列表?
Get dummy variables in Pandas where rows contain multiple variables as a list?
考虑一个 Pandas 数据框,其中有一列 'id',该列的行由表示类别的字符串列表组成。获取虚拟变量的有效方法是什么?
示例:
输入:
df1 = pd.DataFrame({'id': ['0,1', '24,25', '1,24']})
输出:
df2 = pd.DataFrame({'0':[1, 0, 0],
'1': [1, 0, 1],
'24':[0, 1, 1],
'25':[0, 1, 0]})
使用 get_dummies
的 .str
访问器版本:
df1['id'].str.get_dummies(sep=',')
结果输出:
0 1 24 25
0 1 1 0 0
1 0 0 1 1
2 0 1 1 0
考虑一个 Pandas 数据框,其中有一列 'id',该列的行由表示类别的字符串列表组成。获取虚拟变量的有效方法是什么?
示例:
输入:
df1 = pd.DataFrame({'id': ['0,1', '24,25', '1,24']})
输出:
df2 = pd.DataFrame({'0':[1, 0, 0],
'1': [1, 0, 1],
'24':[0, 1, 1],
'25':[0, 1, 0]})
使用 get_dummies
的 .str
访问器版本:
df1['id'].str.get_dummies(sep=',')
结果输出:
0 1 24 25
0 1 1 0 0
1 0 0 1 1
2 0 1 1 0