Начиная с неуникальной серии панд, можно подсчитать количество каждого уникального значения на .value_counts()
.
>> col = pd.Series([1.0, 1.0, 2.0, 3.0, 3.0, 3.0])
0 1.0
1 1.0
2 2.0
3 3.0
4 3.0
5 3.0
dtype: object
>> stat = col.value_counts()
>> stat
3.0 3
1.0 2
2.0 1
dtype: int64
Но, если начать с фрейма данных из двух столбцов, один для уникальных значений, а другой для числа вхождений. (stat
в предыдущем примере). Как развернуть их в один столбец.
Поскольку я хотел бы рассчитать медиану, среднее и т. Д. Данных в таком кадре данных, я думаю, что описать один столбец гораздо проще, чем два. Или есть какой-нибудь метод для точного описания кадра данных «value_count» без расширения данных?
# turn `stat` into col ???
>> col.describe()
count 6.000000
mean 2.166667
std 0.983192
min 1.000000
25% 1.250000
50% 2.500000
75% 3.000000
max 3.000000
добавить данные тестирования
>> df = pd.DataFrame({"Name": ["A", "B", "C"], "Value": [1,2,3], "Count": [2, 10, 2]})
>> df
Name Value Count
0 A 1 2
1 B 2 5
2 C 3 2
df2 = _reverse_count(df)
>> df2
Name Value
0 A 1
1 A 1
2 B 2
3 B 2
4 B 2
5 B 2
6 B 2
7 B 2
8 C 3
9 C 3