关于pandas:将dict放入数据帧 – python

Putting a dict into a dataframe - python

我有一个名为"性别"的列表,其中我用计数器计算所有出现的值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
gender = ['2',
          'Female,',
          'All Female Group,',
          'All Male Group,',
          'Female,',
          'Couple,',
          'Mixed Group,'....]

gender_count = Counter(gender)
gender_count
Counter({'2': 1,
     'All Female Group,': 222,
     'All Male Group,': 119,
     'Couple,': 256,
     'Female,': 1738,
     'Male,': 2077,
     'Mixed Group,': 212,
     'NA': 16})

我想把这个录音机放到熊猫数据框里。我使用了pd.series(将python dict转换为数据帧):

1
2
3
s = pd.Series(gender_count, name='gender count')
s.index.name = 'gender'
s.reset_index()

这给了我想要的数据框架,但我不知道如何将这些步骤保存到熊猫数据框架中。我也试过使用数据框架。

1
s2 = pd.DataFrame.from_dict(gender_count, orient='index')

但这会创建一个以性别类别为索引的数据框架。

我最终想用性别分类和数字来做一个图表。


跳过中间步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
gender = ['2',
          'Female',
          'All Female Group',
          'All Male Group',
          'Female',
          'Couple',
          'Mixed Group']

pd.value_counts(gender)

Female              2
2                   1
Couple              1
Mixed Group         1
All Female Group    1
All Male Group      1
dtype: int64

1
2
3
4
5
6
7
8
9
10
11
12
13
In [21]: df = pd.Series(gender_count).rename_axis('gender').reset_index(name='count')

In [22]: df
Out[22]:
              gender  count
0                  2      1
1  All Female Group,    222
2    All Male Group,    119
3            Couple,    256
4            Female,   1738
5              Male,   2077
6       Mixed Group,    212
7                 NA     16


就这样吧

1
s = pd.DataFrame(gender_count)