如何将熊猫数据框转换为一维数组?

数据挖掘 可视化 熊猫
2021-10-15 09:39:11

我正在尝试从存储一些温度值的两个变量和第三个变量(时间戳)创建等高线图。我用这个笔记本作为教程

https://plot.ly/pandas/contour-plots/

我无法将创建的熊猫数据框转换为一维数组。并且 kde_scipy 不适用于 nd 数组。我尝试使用 .as_matrix() 将数据帧转换为一维数组,但这是我收到的错误。

Degrees of freedom <= 0 for slice

如何将此作为数据框导入的 CSV 文件(包含 3 列数据)转换为单独的数据列?或者我可以直接将每列数据导入一维数组并在函数kde_scipy中使用它吗?

2个回答

你可以试试这个

import pandas as pd
import numpy as np
filename = 'data.csv'
df1 = pd.read_csv(filename)
#convert dataframe to matrix
conv_arr= df1.values

#split matrix into 3 columns each into 1d array

arr1 = np.delete(conv_arr,[1,2],axis=1) 
arr2 = np.delete(conv_arr,[0,2],axis=1) 
arr3 = np.delete(conv_arr,[0,1],axis=1) 

#converting into 1D array
arr1 = arr1.ravel()
arr2 = arr2.ravel()
arr3 = arr3.ravel()

这应该主要完成这项工作。在您提到的函数中使用 arr1 ,arr2,arr3 。它们是您拆分的列的一维数组

您可以首先通过DataFrame调用.values. 然后,运行将其折叠成一维。numpy.ndarrayDataFrame.flatten()

my_dataframe.values.flatten()