python - 删除 tflearn 中的列产生奇怪的输出

标签 python csv tensorflow tflearn

我正在使用 tflearn 并且我正在使用以下代码加载我的 csv 文件...

data, labels = load_csv('/home/eric/Documents/Speed Dating Data.csv', target_column=0,categorical_labels=False)

这是我的 csv 文件的片段(还有更多列)...

enter image description here

我想删除特定列。例如,假设我删除第 1 列,然后打印第 1 至第 5 列的数据...

def preprocess(cols_del):
data, labels = load_csv('/home/eric/Documents/Speed Dating Data.csv',
                        target_column=0, categorical_labels=False)

for col_del in sorted(cols_del):
    [data.pop(col_del) for position in data]

for i in range(20):
    print(data[i][0:5])

def main(_):
    delete = [0]
    preprocess(delete)

这就是结果...

['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['9', '1', '18', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']
['10', '1', '20', '2', '11']

数据明显不同。到底是怎么回事?删除的是行而不是列吗?如何完全删除整个列而不更改任何其他列?

另外,我知道这是一个单独的问题,但如果我要在加载 csv 函数中使用 n_classes ,我会怎么做?这是我的 CSV 中的列数吗?

最佳答案

发生的情况是,[data.pop(col_del) forposition in data] 行删除了一半的行,然后显示剩下的前 20 行。 (它会删除所有行,但对 pop 的调用正在推进循环迭代器。)

如果您不想要某些列,则应在调用 load_csv 时将delete 列表传递给columns_to_ignore 参数。功能说明见load_csv 。如果您需要从内存中的数据集中删除列,我认为值得您花时间学习 Pandas 库的基础知识;它将使您的生活变得更加简单。

如果您的目标标签是分类的,您将需要 n_classes ,以便告诉 load_csv 有多少个类别。由于您有 categorical_labels=False,因此您不需要它。

关于python - 删除 tflearn 中的列产生奇怪的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47104617/

相关文章:

python - 以图形形式表示python字典

python - 如何使用 MNE 包滚动浏览 EEG 数据?

Python - 并行运行多个获取请求并在第一次响应时停止

ios - Swift 的新手和困惑 - 在 Swift 类中存储大型常量/数据集

python - Tensorflow 中的自动广播

python - Pandas 的特征交叉

r - R、CSV 中的非唯一值,因为字符列值中的空白点有一个看不见的点

c++ - 在 C++ 中格式化 CSV 文件

python - 一个问题以及如何在创建模型时处理批处理

python - 对 Tensorflow 中的输入应用归一化