Изменение первичного ключа в направляющих, чтобы быть строкой

Вы можете использовать Series.str.strip с Series.str.split :

df['new'] = df[0].str.strip('[]').str.split()
print (df)
                   0                   new
0  ["A" "B" "C" "D"]  ["A", "B", "C", "D"]
1         [8 3 6 11]         [8, 3, 6, 11]
2          [5 7 4 3]          [5, 7, 4, 3]
3                 14                  [14]

Если необходимы смешанные данные - list со скалярами добавить Series.mask для применимого решения только для значений, начинающихся с [, проверенных Series.str.startswith :

df['new'] = df[0].mask(df[0].str.startswith('['), df[0].str.strip('[]').str.split())
print (df)
                   0                   new
0  ["A" "B" "C" "D"]  ["A", "B", "C", "D"]
1         [8 3 6 11]         [8, 3, 6, 11]
2          [5 7 4 3]          [5, 7, 4, 3]
3                 14                    14

26
задан Simon Perepelitsa 22 November 2012 в 13:40
поделиться

4 ответа

Rails работает лучше всего, когда вы не боретесь со значениями по умолчанию. Какой вред приносит целочисленный первичный ключ в вашей таблице состояний?

Если вы не застряли с устаревшей схемой, которую вы не можете контролировать, я бы посоветовал вам придерживаться настроек Rails по умолчанию - соглашение о конфигурации , верно? - и сосредоточиться на важных частях вашего приложения, таких как пользовательский интерфейс и бизнес-логика.

-24
ответ дан John Topley 28 November 2019 в 06:41
поделиться

У меня был небольшой опыт использования строки в качестве первичных ключей, и это боль в ***. Помните, что по умолчанию, если вы хотите передать объект с шаблоном default: controller /: action /: id, строка: id будет строкой, и это, вероятно, приведет к проблемам с маршрутизацией, если некоторые идентификаторы будут странно отформатированы;)

1
ответ дан 28 November 2019 в 06:41
поделиться

I'm working on a project that uses UUIDs as primary keys, and honestly, I don't recommend it unless you're certain you absolutely need it. There are a ton of Rails plugins out there that will not work unmodified with a database that uses strings as primary keys.

6
ответ дан Bob Aman 28 November 2019 в 06:41
поделиться

Вы хотите следовать Рельсовые соглашения. Дополнительный первичный ключ не является проблемой в любом случае. Просто используйте его.

2
ответ дан 28 November 2019 в 06:41
поделиться
Другие вопросы по тегам:

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