Python: Pandas 创建包含内容的新 csv
Python: Pandas Create new csv with contents counted
我正在读取 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
如果没有办法做到这一点我很好,但我至少要如何才能获得每种颜色的总出现次数?谢谢
使用堆栈。
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')
我正在读取 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
如果没有办法做到这一点我很好,但我至少要如何才能获得每种颜色的总出现次数?谢谢
使用堆栈。
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')