Проблема: Я пытаюсь хранить большие наборы данных, используя кадры данных Pandas в python.Моя проблема в том, что когда я пытаюсь сохранить его в CSV, фрагменты моих данных обрезаются следующим образом:
e + 12
и
[значение1 значение2 значение3 .,. value1853 value1854]
Объяснение: Мне нужно хранить много данных в отдельных ячейках, и некоторые из значений, которые мне нужно сохранить, являются значениями Long (time)и я создал короткий скрипт для отображения ошибок, которые я получаю:
dframe = pd.DataFrame()
arr = np.array([])
for x in range(1234567891230,1234567892230):
arr = np.append(arr,x)
dframe['elements'] = [arr]
print(dframe['elements'][0][999]) # prints correct values, eg. 1234567892229.0
dframe.to_csv('temp.csv', index=False)
В приведенном выше примере сохраненные значения отображаются , как показано ниже для первых 1000 значений (123456789 1230 до 123456789 2230 )
1.23456789e + 12
, который полностью игнорирует четыре наименее значимых символа.Если вы расширите список до 1001 значения, будет усечено еще больше:
dframe = pd.DataFrame()
arr = np.array([])
for x in range(1234567891230,1234567892231):
arr = np.append(arr,x)
dframe['elements'] = [arr]
print(dframe['elements'][0][999]) # still prints correct values, eg. 1234567892229.0
dframe.to_csv('temp.csv', index=False)
И полный CSV-файл, наконец, будет выглядеть так:
elements
"[1.23456789e + 12 1.23456789e + 12 1.23456789e + 12 ... 1.23456789e + 12 1.23456789e + 12 1.23456789e + 12] "
, который удалил почти все 1000 элементов и заменил ихпо ... .
Кто-нибудь знает какие-либо обходные пути для этих проблем или как их решить?
Это не проблема усечения просто для отображения (например, Pandas to_html () усекает содержимое строки ), но фактически портит данные, сохраненные в CSV.