如何将pandas数据帧转换为矩阵并导出到csv

时间:2015-08-04 06:53:13

标签: python pandas

我有一个像这样的数据框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文件。

1 个答案:

答案 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