我正在阅读csv,我正在尝试计算每个条目出现的次数 csv看起来像这样:
Image# color1 color2 color3
1 red blue yellow
2 blue blue red
3 white red pink
我想要做的是将它写成一个新的csv,例如:
df = pd.read_csv("colors.csv")
counted = df.groupby(["color1", "color2", "color3"]).size()
df.to_csv("counted.csv")
除了我想要输出
Red 3
Blue 3
Pink 1
Yellow 1
White 1
如果没有办法做到这一点我很好,但我怎么能至少得到每种颜色的总出现次数?感谢
答案 0 :(得分:2)
使用Stack。
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.stack.html
Get count of values across columns-Pandas DataFrame
import pandas as pd
Dict = {'Image': [1,2,3],
'color1': ['red','blue','white'],
'color2': ['blue','blue','red'],
'color3': ['yellow','red','pink']}
df = pd.DataFrame(Dict)
df.set_index('Image',inplace=True)
Color_Counts = df.stack().value_counts()
Color_Counts.to_csv('Color_Counts.csv')