我有一个像这样的数据框df
:
date1 date2 A
2015.1.1 2015.1.2 1
2015.1.1 2015.1.3 2
2015.1.1 2015.1.4 3
2015.1.2 2015.1.3 4
2015.1.2 2015.1.4 5
2015.1.3 2015.1.4 6
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1711 entries, 0 to 1710
Data columns (total 3 columns):
date1 1711 non-null datetime64[ns]
date2 1711 non-null datetime64[ns]
A 1711 non-null float64
dtypes: datetime64[ns](2), float64(1)
memory usage: 53.5 KB
如何将df
转换为矩阵mx
,如下所示:
2015.1.2 2015.1.3 2015.1.4
2015.1.1 1 2 3
2015.1.2 - 4 5
2015.1.3 - - 6
然后,我需要将mx
导出到Excel或csv文件。
答案 0 :(得分:3)
这是一个经典的数据透视应用程序,其中一个数据列成为索引,另一个数据列用于列标题,数据根据与之关联的值在新DataFrame
中分发。在原始表中。
In [19]: df
Out[19]:
date1 date2 A
0 2015.1.1 2015.1.2 1
1 2015.1.1 2015.1.3 2
2 2015.1.1 2015.1.4 3
3 2015.1.2 2015.1.3 4
4 2015.1.2 2015.1.4 5
5 2015.1.3 2015.1.4 6
In [20]: df.pivot(index="date1", columns="date2", values="A")
Out[20]:
date2 2015.1.2 2015.1.3 2015.1.4
date1
2015.1.1 1 2 3
2015.1.2 NaN 4 5
2015.1.3 NaN NaN 6