2015-05-07 2 views
0

Я хочу, чтобы сохранить dataframe ДФ в .h5 файла MainDataFile.h5:Разница между str() и astype (str)?

df.to_hdf ("c:/Temp/MainDataFile.h5", "MainData", mode = "w", format = "table", data_columns=['_FirstDayOfPeriod','Category','ChannelId']) 

и получить следующее сообщение об ошибке:

*** Исключение: не может найти правильный тип атома -> > [dtype-> объект, изделия-> Индекс ([ 'Libellé_Article', 'Libellé_segment'], 'объект' DTYPE =)]

Если я modifify столбец 'Libellé_Article' следующим образом:

df['Libellé_Article'] = str(df['Libellé_Article']) 

нет ошибок больше, в то время как я все еще получаю сообщение об ошибке при выполнении:

df['Libellé_Article'] = df['Libellé_Article'].astype(str) 

Проблема заключается в том, что использование ул() дует мой баран.

Любая идея?

+0

Я голосую, чтобы закрыть это вопрос как вне темы, потому что это неформатированный blob глупостей. – rightfold

+2

Форматирование является фиксированным (сделано). Однако вопрос остается неясным. Можете ли вы переформулировать его, чтобы он содержал реальный вопрос? Благодаря! –

+0

Извините, мой браузер отправил свой вопрос, прежде чем я закончил писать его –

ответ

2

str(df['Libellé_Article']) преобразует содержимое всего столбца в одну строку. Это закончится очень большой струной. А вот причину взорвать ОЗУ

Например

>> df = pd.DataFrame([1,2,3], columns=['A']) 
>> df['A'] 
0 1 
1 2 
2 3 
Name: A, dtype: int64 

>> str(df['A']) 
'0 1\n1 2\n2 3\nName: A, dtype: int64' 
>> df['A'].astype(str) 
0 1 
1 2 
2 3 
Name: A, dtype: object 

Таким образом, вы должны использовать .astype(str) только, если вы хотите, чтобы преобразовать весь столбец строкового типа

+0

Спасибо Kathirmani, вы совершенно правы! Поэтому остается вопрос, почему я получаю сообщение об ошибке при применении '.astype (str)'. Я подозреваю особого персонажа в столбце «Libellé_Article», но не могу найти, что до сих пор. –

+0

Для этого, пожалуйста, разместите несколько примеров данных, чтобы я мог попробовать его локально на моей машине –

Смежные вопросы