У меня есть DataFrame df
с колонками 'a'
. Как создать новый столбец 'b'
, который имеет dtype=object
?Как создать новые пустые столбцы pandas с определенным dtype?
Я знаю, что это можно считать плохую форму, но в данный момент у меня есть dataframe df
где столбец 'a'
содержит массивы (каждый элемент является np.array
). Я хочу создать новый столбец 'b'
, где каждый элемент является новым np.array
, который содержит журналы соответствующего элемента в 'a'
.
На данный момент я попробовал эти два метода, но ни работали:
for i in df.index:
df.set_value(i,'b', log10(df.loc[i,'a']))
и
for i in df.index:
df.loc[i,'b'] = log10(df.loc[i,'a']))
Оба дают мне ValueError: Must have equal len keys and value when setting with an iterable
.
Я предполагаю, что ошибка возникает из-за того, что dtype нового столбца по умолчанию имеет значение float
, хотя я могу ошибаться.
'ф.р. [» new '] =' ''или' df [' new '] = (np.nan) .astype (str) '? – MaxU
В чем смысл использования структур данных 'pandas' для хранения массивов' numpy'? –
Я знаю, что это плохая форма, но в основном у меня есть эти массивы, и я хочу иметь доступ к ним легко, но они логически образуют мерную сетку, поэтому вместо того, чтобы играть с мультииндексированием, я думал, что будет проще просто сделайте это так (т.е. у меня есть 300 «вещей», каждая «вещь» имеет те же 4 параметра/атрибута, и для каждого параметра у меня есть N выборок этого параметра). –