我正在尝试从存储一些温度值的两个变量和第三个变量(时间戳)创建等高线图。我用这个笔记本作为教程
我无法将创建的熊猫数据框转换为一维数组。并且 kde_scipy 不适用于 nd 数组。我尝试使用 .as_matrix() 将数据帧转换为一维数组,但这是我收到的错误。
Degrees of freedom <= 0 for slice
如何将此作为数据框导入的 CSV 文件(包含 3 列数据)转换为单独的数据列?或者我可以直接将每列数据导入一维数组并在函数kde_scipy中使用它吗?
我正在尝试从存储一些温度值的两个变量和第三个变量(时间戳)创建等高线图。我用这个笔记本作为教程
我无法将创建的熊猫数据框转换为一维数组。并且 kde_scipy 不适用于 nd 数组。我尝试使用 .as_matrix() 将数据帧转换为一维数组,但这是我收到的错误。
Degrees of freedom <= 0 for slice
如何将此作为数据框导入的 CSV 文件(包含 3 列数据)转换为单独的数据列?或者我可以直接将每列数据导入一维数组并在函数kde_scipy中使用它吗?
你可以试试这个
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.ndarray
DataFrame
.flatten()
my_dataframe.values.flatten()