Вставьте список Python в ячейку столбца [дубликат]

Некоторые исправления, на которые следует обратить внимание:

Если вы дважды щелкните командный файл %0, будет окружен кавычками. Например, если вы сохраните этот файл как c:\test.bat:

@echo %0
@pause

Двойной щелчок откроет новую командную строку с выходом:

"C:\test.bat"

Но если вы сначала откройте командную строку и вызовите ее непосредственно из этой командной строки, %0 будет ссылаться на все, что вы набрали. Если вы наберете test.bat Enter, вывод %0 не будет иметь кавычек, потому что вы не вводили кавычки:

c:\>test.bat
test.bat

Если вы наберете test Enter, вывод %0 будет иметь нет расширения, потому что вы не вводили расширение:

c:\>test
test

То же самое для tEsT Введите:

c:\>tEsT
tEsT

Если вы наберете "test" Enter, вывод %0 будут иметь кавычки (поскольку вы их набрали), но не расширение:

c:\>"test"
"test"

Наконец, если вы наберете "C:\test.bat", вывод будет таким, как если бы вы дважды нажали на него:

c:\>"C:\test.bat"
"C:\test.bat"

Обратите внимание, что это не все возможные значения %0 могут быть вызваны тем, что вы можете вызвать скрипт из других папок:

c:\some_folder>/../teST.bAt
/../teST.bAt

Все приведенные выше примеры также повлияют на %~0, потому что выход %~0 является просто выходом %0 минус-кавычек (если есть).

42
задан Cleb 30 June 2016 в 22:22
поделиться

3 ответа

df3.set_value(1, 'B', abc) работает для любого фрейма данных. Позаботьтесь о типе данных столбца «B». Например. список не может быть вставлен в столбец с плавающей точкой, в этом случае df['B'] = df['B'].astype(object) может помочь.

31
ответ дан ragesz 20 August 2018 в 07:07
поделиться
  • 1
    Обратите внимание, что эта команда была устаревшей . Ниже приведено обновление. – Thomas 27 March 2018 в 11:25

Как упоминалось в этой статье pandas: как сохранить список в фрейме данных? ; dtypes в кадре данных могут влиять на результаты, а также называть фрейм данных или не назначаться.

2
ответ дан Ando Jurai 20 August 2018 в 07:07
поделиться

2017 Update

Поскольку set_value был устаревшим с версии 0.21.0, вы должны теперь использовать at . Он может вставить список в ячейку, не поднимая ValueError, как loc. Я думаю, что это потому, что at всегда ссылается на одно значение, а loc может ссылаться на значения, а также на строки и столбцы.

df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})

df.at[1, 'B'] = ['m', 'n']

df =
    A   B
0   1   x
1   2   [m, n]
2   3   z
39
ответ дан Michael Hays 20 August 2018 в 07:07
поделиться
Другие вопросы по тегам:

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