当前位置: 首页 > 知识库问答 >
问题:

如何将熊猫数据帧转换为矩阵并导出为csv[复制]

公冶麒
2023-03-14

我有一个这样的数据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个答案

荀正谊
2023-03-14

这是一个典型的数据透视应用程序,其中一个数据列成为索引,另一个数据列用于列标题,数据根据原始表中与之关联的值分布在新的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
 类似资料:
  • 如何将pandas数据帧(21 x 31)转换为numpy数组? 例如: 数组_1(n_1,n_2,n_3,…,n31) 数组_2(n_1,n_2,n_3,…,n31) 数组21(n_1,n_2,n_3,…,n31) 我尝试了以下代码段: .. 并得到如下结果: 问题是第二个方括号太多了。我该如何解决这个问题?

  • Python是如何将CSV文件读入pandas数据帧的(我可以使用它进行统计操作,可以有不同类型的列,等等)? 我的CSV文件有以下内容: 在R中,我们将使用以下方法读取此文件: 这将返回一个R数据。框架: 有没有类似python的方法来获得相同的功能?

  • 我使用熊猫数据框来清理和处理数据。但是,我需要将其转换为numpy ndarray,以便使用利用矩阵乘法。我将数据框转换为具有以下内容的列表列表: 这将返回以下结构: 然后我将其转换为如下所示的numpy数组: 然而,以下打印: 给出这个结果: 但是,我需要它们都是numpy数组。如果它不是来自熊猫数据帧,我只是转换一个硬编码列表,那么它们都是Ndarray。当列表是从数据帧生成的时,如何获取该列

  • 在Python3下,我有一个dict,格式如下: 我想使用dict键作为列将其转换为数据帧: 但是,当我尝试以下命令时,我有一个ValueError:

  • 我想读取ArcGIS形状文件的文件,并将其转储到数据帧中。我目前正在使用dbf包。 显然,我已经能够将文件作为一个表加载,但还不能理解如何解析它并将其转换为一个数据帧。怎么做? 这就是我所处的困境: Python将此语句作为输出返回,坦率地说,我不知道该如何处理: 编辑 我的原始示例:

  • 我对熊猫有些陌生。我有一个熊猫数据框,是一行23列。 我想把它转换成一个系列?我想知道做这件事最像蟒蛇的方式是什么? 我试过pd。系列(我的结果),但它抱怨。它还没有聪明到意识到它仍然是数学术语中的“向量”。 谢谢!