我在excel中有一个数据集。下面给出了数据样本。每行包含许多项目;每列中有一个项目。数据也没有标题。
a b a d
g z f d a
e
dd gg dd g f r t
想要创建一个如下所示的表格。它应该计算每行中的项目并按行显示计数。我不知道apriori表中有多少项目。
row# a b d g z f e dd gg r t
1 2 1 1 0 0 0 0 0 0 0 0
2 1 0 1 1 1 1 0 0 0 0 0
3 0 0 0 0 0 0 1 0 0 0 0
4 0 0 0 1 0 1 0 2 1 1 1
我不是python的专家,非常感谢任何帮助。
答案 0 :(得分:1)
使用get_dummies
+ sum
:
df = pd.read_csv(file, names=range(100)).stack() # setup to account for missing values
df.str.get_dummies().sum(level=0)
a b d dd e f g gg r t z
0 2 1 1 0 0 0 0 0 0 0 0
1 1 0 1 0 0 1 1 0 0 0 1
2 0 0 0 0 1 0 0 0 0 0 0
3 0 0 0 2 0 1 1 1 1 1 0