gpt4 book ai didi

python-3.x - 处理 NaN 的成对距离

转载 作者:行者123 更新时间:2023-12-04 02:02:52 24 4
gpt4 key购买 nike

我有一个数据透视表,我想从中计算每一天之间的成对距离矩阵。由于我的数据集包含 NaN 值,因此当我使用 sklearn 成对距离时它会向我产生。

我想知道是否有办法克服这个问题?

数据透视表 X 是这样的:

 time   04:45:00    05:00:00   05:15:00
date
01-01 61 NaN 44
01-02 23 70 NaN

from sklearn.metrics.pairwise import pairwise_distances
pairwise_distances(X)

我遇到以下错误:

ValueError: Input conains NaN, infinity or a value too large for dtype('float64')

最佳答案

简单的解决方法是用一些估算值填充那些 NaN 值。它可以是 0mean、沿行向前/向后填充值等。

尝试这样的事情!

d = """ time   04:45:00    05:00:00   05:15:00
date
01-01 61 NaN 44
01-02 23 70 NaN
"""


import pandas as pd
from io import StringIO

df = pd.read_csv(StringIO(d), sep='\s+')
data = df.iloc[1:,1:].fillna(method='ffill', axis=1)
data
    04:45:00    05:00:00    05:15:00
1 61.0 61.0 44.0
2 23.0 70.0 70.0

现在应用pairwise_distances

from sklearn.metrics.pairwise import pairwise_distances
pairwise_distances(data)

# array([[ 0. , 46.91481642],
# [46.91481642, 0. ]])

关于python-3.x - 处理 NaN 的成对距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57052832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com