2015-02-11 65 views
0

我讀一個CSV,我想算的CSV多少次,每個條目出現 看起來是這樣的:的Python:熊貓創建新的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

你應該接受張貼的答案,也將在答案的左上角是一個空的刻度會是這樣的帖子不仍然懸而未決 – EdChum 2015-02-11 09:32:10

回答

2

使用堆棧。

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') 
+0

謝謝!像魅力一樣工作! – Johnsonge 2015-02-11 01:44:13