Как сохранить изменения в кадре данных Pandas в новый файл с помощью pd.to_csv? [Дубликат]

Старая тема, я знаю. Нашел проблему с кем-то, использующим PDO, и ответ заключался в том, чтобы использовать это для строки подключения PDO:

$pdo = new PDO(
    'mysql:host=mysql.example.com;dbname=example_db',
    "username",
    "password",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

Сайт, на котором я взял это, отключен, смог получить его с помощью кеша google.

6
задан Radical Edward 5 June 2013 в 00:19
поделиться

3 ответа

Похоже, вы должны указать длину строки, если вы не хотите, чтобы она была объектом. Например:

dtype={'USAF': '|S6'}

Я не могу найти ссылку для этого, но, похоже, я вспоминаю, что Уэс обсуждает этот вопрос (возможно, в разговоре). Он предположил, что numpy не допускает «правильные» строки переменной длины (см. Этот вопрос / ответ ), и использование максимальной длины для заполнения массива будет чаще, чем не быть невероятно пространственным неэффективным (даже если строка короткая, она будет использовать столько места, сколько самая длинная строка).

Как указывает @Wes, это также случай, когда:

dtype={'USAF': object}

работает так же хорошо.

2
ответ дан Community 23 August 2018 в 17:37
поделиться

Это вопрос об угадывании pandas dtype.

Pandas видит числа и догадки , вы хотите, чтобы это были числа.

Чтобы панды не сомневались ваши намерения, вы должны установить нужный тип dtype: object

pd.read_csv('filename.csv', dtype={'leading_zero_column_name': object})

Будет делать трюк

5
ответ дан firelynx 23 August 2018 в 17:37
поделиться

Эта проблема вызвала у меня всевозможные головные боли при анализе файла с серийными номерами. По неизвестным причинам 00794 и 000794 представляют собой два разных серийных номера. В конце концов я придумал

converters={'serial_number': lambda x: str(x)}
5
ответ дан Lev Landau 23 August 2018 в 17:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: