我有一个大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? 谢谢您。在
目前没有回答
相关问题 更多 >
编程相关推荐