能学习吗预处理.LabelEncoder或者DataFrameMapper支持pandas get_chunk?

2024-04-23 15:12:15 发布

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

我有一个大csv文件,因此我使用pandasget_chunk()函数在每个循环中获取数据帧。 我在每个循环中都使用了LabelEncoder(),但我发现标签不是全局统一的。

代码

# coding: utf-8
  import pandas as pd
  from sklearn import preprocessing

  input_data1 = pd.read_csv("test.csv", sep='^', header=0, encoding='utf-8', 
    error_bad_lines=False, iterator=True,
                      low_memory=False)
  le = preprocessing.LabelEncoder()
  loop = True
  number = 1
  while loop:
    try:
       print 'first ', number, ' loop'
       df = input_data1.get_chunk(2)


       sd = le.fit(df['title_a'])
       print list(le.classes_)
       # list(le.classes_)
       print le.transform(df['title_a'])
       mapping = dict(zip(le.classes_, range(len(le.classes_))))

       print mapping
       print list(le.inverse_transform([1, 1, 0]))

   except StopIteration:
       loop = False
       print "Iteration is stopped."
   number = number + 1

以下是csv格式的数据:

^{pr2}$

第一个循环中的映射: {u'a': 0, u'aa': 1}

第二个循环中的映射: {u'aaaa': 1, u'aaa': 0}

“a”和“aaa”具有相同的键或值(键或值无关紧要), 问题是每个循环都有自己的映射。在

有什么建议或建议或API? 谢谢您。在


Tags: csvimportleloopfalsenumberdflist