2017-03-08 49 views
0

我是Python和編程的新手。我有一些R的經驗,發現熊貓有點困難。將value_count系列轉換爲pandas中的數據框時缺失第一列

我想進行頻率計數,然後將其作爲DataFrame對象返回。

df = pd.read_csv('gender_data.csv')

x = df['Gender'].value_counts()

這將返回以下一系列目標:

 Gender 
Male 200 
Female 100 

我打算將它轉換成一個數據幀的對象,所以我可以繪製並指定軸的信息。這是我遇到問題的地方,因爲.to_frame()會從系列中切斷類別標籤。

x.to_frame() 

回報

Gender 
200 
100 

是有辦法的系列轉換成數據幀,並保持該類別列?在RI認爲我可以通過使用as.data.frame(x)的實現這一

+0

嗯,我不能重現這一點。你是什​​麼版本的熊貓? – bernie

+0

Pandas版本:0.19.2,我使用Rodeo IDE,它有點像RStudio,但是對於Python來說,如果這有所作爲呢? – 0mm3

+0

你到底想要什麼樣的最終情節?看起來最後的情節應該是一個頻率直方圖,包含兩個垃圾箱,男性和女性?我問的原因是因爲我想知道爲什麼你需要首先將系列轉換爲數據幀。 –

回答

1

我建議如下:

import pandas as pd 
df = pd.DataFrame({"gender": ["male", "female", "male", "male", "female"]}) 
df = df["gender"].value_counts().reset_index() 
df 

這將返回:

index gender 
0 male 3 
1 female 2 

之後,您可以通過清理重新定義的列名:

df.columns = ["gender", "counts"] 
df 

有了結果:

gender counts 
0 male 3 
1 female 2 
相關問題