【发布时间】:2015-06-26 15:12:40
【问题描述】:
我想创建一个包含两列的 pandas 数据框,第一列是我的一个列的唯一值,第二列是唯一值的计数。
我看过很多帖子(例如here)描述如何获取计数,但我遇到的问题是当我尝试创建数据框时,列值成为我的索引。
样本数据:df = pd.DataFrame({'Color': ['Red', 'Red', 'Blue'], 'State': ['MA', 'PA', 'PA']})。我想得到一个像这样的数据框:
Color Count
0 Red 2
1 Blue 1
我尝试了以下方法,但在所有情况下,索引都以 Color 结尾,而 Count 是数据框中的唯一列。
尝试 1:
df2 = pd.DataFrame(data=df['Color'].value_counts())
# And resetting the index just gets rid of Color, which I want to keep
df2 = df2.reset_index(drop=True)
尝试 2:
df3 = df['Color'].value_counts()
df3 = pd.DataFrame(data=df3, index=range(df3.shape[0]))
尝试 3:
df4 = df.groupby('Color')
df4 = pd.DataFrame(df4['Color'].count())
【问题讨论】: