使用以下csv数据: Data Image
我已将csv中的数据加载到Pandas Pivot表中,输出如下:
[[nan nan nan ... nan nan 0.]
[nan 21 nan ... nan 0. nan]
[nan nan nan ... 0. nan nan]
...
[23. nan 13. ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan 14 nan ... nan nan nan]]
但在对结果使用Scipy高斯滤波器后,数据将按如下方式消除:
[[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
...
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]]
有没有一种方法可以对数据透视表应用高斯滤波器,而不将数据清空
代码如下:
import pandas as pd
import numpy as np
import scipy as sp
import scipy.ndimage
FILE_PATH = "."
def load_nut_data(file_path=FILE_PATH):
csv_path = os.path.join(file_path, "csv_file.csv")
return pd.read_csv(csv_path, usecols = ['GPSLon', 'GPSLat','NutCount'])
nut = load_nut_data()
nut.head()
Z = nut.pivot_table(index='GPSLon', columns='GPSLat',
values='NutCount').T.values
print(Z)
Zg= sp.ndimage.filters.gaussian_filter(Z, sigma, mode='grid-constant')
print(Zg)
该滤波器被实现为一维卷积滤波器序列。如果您的数据是nostly
nans
,则这些nans
作为乘法器进入卷积,htnce将整个卷积结果转化为nans
。考虑用零来替换^ {CD1}}。相关问题 更多 >
编程相关推荐