如何修复AttributeError:“系列”对象没有属性“ to_numpy”

Ngu*_*uan 4 python attributeerror pandas

我的输出:

img

def load_data(self):
    """
    Load data from list of paths
    :return: 3D-array X and 2D-array y
    """
    X = None
    y = None
    df = pd.read_excel('data/Data.xlsx', header=None)
    for i in range(len(df.columns)):
        sentences_ = df[i].to_numpy().tolist()
        label_vec = [0.0 for _ in range(0, self.n_class)]
        label_vec[i] = 1.0
        labels_ = [label_vec for _ in range(0, len(sentences_))]
        if X is None:
            X = sentences_
            y = labels_
        else:
            X += sentences_
            y += labels_
    X, max_length = self.tokenize_sentences(X)
    X = self.word_embed_sentences(X, max_length=self.max_length)
    return np.array(X), np.array(y)
Run Code Online (Sandbox Code Playgroud)

这是我的熊猫库代码为pd的代码。在Google Colab中运行时,出现以下错误:

def load_data(self):
    """
    Load data from list of paths
    :return: 3D-array X and 2D-array y
    """
    X = None
    y = None
    df = pd.read_excel('data/Data.xlsx', header=None)
    for i in range(len(df.columns)):
        sentences_ = df[i].to_numpy().tolist()
        label_vec = [0.0 for _ in range(0, self.n_class)]
        label_vec[i] = 1.0
        labels_ = [label_vec for _ in range(0, len(sentences_))]
        if X is None:
            X = sentences_
            y = labels_
        else:
            X += sentences_
            y += labels_
    X, max_length = self.tokenize_sentences(X)
    X = self.word_embed_sentences(X, max_length=self.max_length)
    return np.array(X), np.array(y)
Run Code Online (Sandbox Code Playgroud)

Mik*_*e T 14

如果您需要您的代码与所有版本的 Pandas 一起使用,这里有一种将 Series 转换为 NumPy 数组的简单方法:

import pandas as pd
import numpy as np

s = pd.Series([1.1, 2.3])
a = np.array(s)
print(a)  # [1.1 2.3]
Run Code Online (Sandbox Code Playgroud)

在高级说明中,如果您的系列缺少值(作为 NaN 值),则可以将这些值转换为掩码数组:

s = pd.Series([1.1, np.nan])
a = np.ma.masked_invalid(s)
print(a)  # [1.1 --]
Run Code Online (Sandbox Code Playgroud)


Jav*_*ide 8

检查您的熊猫库的版本:

import pandas
print(pandas.__version__)
Run Code Online (Sandbox Code Playgroud)

如果您的版本小于0.24.1:

pip install --upgrade pandas
Run Code Online (Sandbox Code Playgroud)