У меня есть CSV-файл различных столбцов чисел и строк.Когда я открываю его с помощью pandas.read_csv
, он всегда дает мне юникод.В любом случае, я могу получить фрейм данных в не-Unicode или преобразовать их в строки (и сохранить плавающие ячейки как плавающие)?
Я пробовал буквально все возможные способы, включая некоторые ответы на аналогичный Stackoverflowвопросы.
Включая:
df = pd.read_csv('xxxx.csv', encoding = 'utf-8')
Это не сработало вообще.
Я также попытался изменить dtype этого столбца с помощью astype(str)
Это тоже не сработало.
Затем я попытался определить функцию преобразования для ее кодирования снова:
def convert(input):
if isinstance(input, dict):
return {convert(key): convert(value) for key, value in
input.iteritems()}
elif isinstance(input, list):
return [convert(element) for element in input]
elif isinstance(input, unicode):
return input.encode('utf-8')
else:
return input
df = convert(df)
Когда я звоню df.index.unique()
, всегда показывается:
Index([u'row_a', u'row_b', u'row_c'], dtype='object', name=u'column_a')
Но я хочу, чтобы они были в строках.
Есть предложения?Большое спасибо!