例如:
输入:
column1
A value1
A value2
A value2
B value3
B value3
输出:
value1 value2 value3
A 1 1 0
B 0 0 1
答案 0 :(得分:0)
for val in df['column1'].unique():
df[val] = df['column1']==val
df.groupby(df.index).any().drop('column1', axis=1)
如果你需要将True / False转换为1/0,你可以这样做:
df.applymap(lambda x: 1 if x else 0)
答案 1 :(得分:0)
找到了一种更简单的方法:
mutex

答案 2 :(得分:0)
方法#0,只是通过另一个问题提醒,您可以使用UITableViewCell
:
detailTextLabel
方法#1:您可以使用pd.crosstab
和>>> pd.crosstab(df.index, df.column1).astype(bool).astype(int)
column1 value1 value2 value3
row_0
A 1 1 0
B 0 0 1
:
get_dummies
为您提供细胞计数,同样
groupby
方法#2:添加一个虚拟列然后转动:
>>> pd.get_dummies(df.column1)
value1 value2 value3
A 1 0 0
A 0 1 0
A 0 1 0
B 0 0 1
B 0 0 1
>>> pd.get_dummies(df.column1).groupby(level=0).sum()
value1 value2 value3
A 1 2 0
B 0 0 2