Как исправить вкладку pandas.cross, которая выдает квадратную матрицу nxn вместо матрицы столбцов mxn. - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь создать круговой частотный график для отображения дня недели и записей. Использование кросс-таблицы Python не помещает строки и столбцы в нужное место, а помещает столбцы по столбцам

df.head()
times=pd.Series(pd.to_datetime(df['time_of_trip'],infer_datetime_format=True))
print(times)
print(times.dt.weekday)
print(times.dt.hour.apply(lambda x: '{:02d}:00'.format(x)))
data = pd.crosstab(times.dt.weekday,times.dt.hour.apply(lambda x: '{:02d}:00'.format(x))).fillna(0)
print(data)

time_of_trip    start_lat   start_lng   date    time    cluster_id
0   2014-09-04 09:51:00 40.64705    -73.77988   9/4/2014    9:51    0
1   2014-08-27 21:13:00 40.74916    -73.98373   8/27/2014   21:13   1
2   2014-09-04 14:16:00 40.64065    -73.97594   9/4/2014    14:16   1

0      2014-09-04 09:51:00
1      2014-08-27 21:13:00
2      2014-09-04 14:16:00
3      2014-09-04 16:08:00

0       3
1       2
2       3
3       3
4       3
5       5
6       3
7       2 

0       09:00
1       21:00
2       14:00
3       16:00
4       02:00
5       03:00
6       23:00
7       22:00
8       17:00
9       23:00
10      03:00

, получая это

time_of_trip  00:00  01:00  02:00  03:00  ...  20:00  21:00  22:00  23:00
time_of_trip                              ...                            
00:00           761      0      0      0  ...      0      0      0      0
01:00             0    725      0      0  ...      0      0      0      0
02:00             0      0    773      0  ...      0      0      0      0
03:00             0      0      0    745  ...      0      0      0      0
04:00             0      0      0      0  ...      0      0      0      0

хочу это


col_0  00:00  01:00  02:00  03:00  04:00  ...  19:00  20:00  21:00  22:00  23:00
row_0                                     ...                                   
0         55     51     47     51     41  ...     49     45     45     51     53
1         56     65     76     71     63  ...     71     63     59     51     58
2         67     70     67     62     59  ...     52     65     56     63     60
3         60     65     68     72     64  ...     59     82     53     62     72
...