#python #json #pandas #dataframe
Вопрос:
{"id": 814984317021495298, "date": "2016-12-30", "time": "18:59:37", "timezone":
"-0400", "replies_count": 7708, "username": "im_theantitrump"}
{"id": 814984316195311616, "date": "2016-12-30", "time": "18:59:37", "timezone":
"-0400", "replies_count": 25772, "username": "bishyoucray2"}
Файл Json выглядит так. При выполнении следующих команд:
df = pd.read_json('filename.json', lines=True)
df['date'].value_counts()
результат выглядит так:
,date
2016-11-17,3403
2016-11-04,2605
2016-12-09,2285
2016-11-24,1934
2016-12-19,1874
2016-12-07,1864
2016-11-28,1825
2016-11-29,1715
2016-11-27,1688
2016-12-15,1683
2016-12-06,1680
Есть ли какая-либо альтернатива, которая бы сортировала дату и время в порядке возрастания (по умолчанию в файле json они возрастают). И, возможно, добавьте «count» в качестве второго заголовка фрейма данных, чтобы он соответствовал столбцам?
Вот пример.
date count
10/31/2016 97
11/1/2016 3360
11/2/2016 5719
11/3/2016 1206
11/4/2016 3888
11/5/2016 1176
11/6/2016 1598
11/7/2016 4542
11/8/2016 1750
11/9/2016 1224
11/10/2016 1489
11/11/2016 3138
11/12/2016 1449
11/13/2016 1299
11/14/2016 1136
11/15/2016 1525
Комментарии:
1. разве ты не можешь просто перейти
, sort=False
кvalue_counts()
?2. это испортило сортировку за месяц после смешивания предыдущего дня
Ответ №1:
Чтобы сохранить вывод .value_counts
в отсортированном порядке, вы можете сделать:
out = df["date"].value_counts().to_frame(name="count")
out = out.sort_index()
out.to_csv("data.csv", index_label="date")
Экономит data.csv
:
date,count
2016-11-30,2
2016-12-30,2
Используемые данные Json:
{"id": 814984317021495298, "date": "2016-12-30", "time": "18:59:37", "timezone": "-0400", "replies_count": 7708, "username": "im_theantitrump"}
{"id": 814984316195311616, "date": "2016-12-30", "time": "18:59:37", "timezone": "-0400", "replies_count": 25772, "username": "bishyoucray2"}
{"id": 814984316195311616, "date": "2016-11-30", "time": "18:59:37", "timezone": "-0400", "replies_count": 25772, "username": "bishyoucray2"}
{"id": 814984316195311616, "date": "2016-11-30", "time": "18:59:37", "timezone": "-0400", "replies_count": 25772, "username": "bishyoucray2"}
Комментарии:
1. «дата» теперь не отображается в заголовке. «,количество» теперь является единственным заголовком. Но сортировка работает. Спасибо вам:)