对数据透视表应用过滤器会清空数据

2024-05-15 11:08:46 发布

您现在位置:Python中文网/ 问答频道 /正文

使用以下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)

Tags: csv数据pathimportasloadscipynan