Вы можете сделать это, используя groupby
для группировки в интересующей колонке, а затем apply
list
для каждой группы:
In [1]:
# create the dataframe
df = pd.DataFrame( {'a':['A','A','B','B','B','C'], 'b':[1,2,5,5,4,6]})
df
Out[1]:
a b
0 A 1
1 A 2
2 B 5
3 B 5
4 B 4
5 C 6
[6 rows x 2 columns]
In [76]:
df.groupby('a')['b'].apply(list)
Out[76]:
a
A [1, 2]
B [5, 5, 4]
C [6]
Name: b, dtype: object
Слишком долго комментировать
Использование опции WITH REPLACE
(как вы указали) перезапишет базу данных тем, что содержится в резервной копии. Причина, по которой вы получаете эту ошибку в вашем скрипте, может быть в том, что вы используете опцию FILE
.
Параметры FILE, предшествующие имени устройства резервного копирования, определяют логические имена файлов базы данных, которые должны быть восстановлены из резервного набора; например, FILE = 'FILENAME'
blockquote>Причина, по которой вы получаете ошибку, может заключаться в том, что набор резервных копий не является первой резервной копией базы данных в наборе носителей. Вам необходимо добавить правильный номер к опции
FILE
в предложенииWITH
..... WITH FILE = 1, --this may not need to be 1 ....
Если вам не нужно явно указывать имя файла, отбросьте обе опции
FILE
.RESTORE DATABASE add_BackupDev FROM DISK = @LastDatabaseRestore WITH MOVE 'add_backupDev' TO 'R:\DATA\add_BackupDev.mdf', MOVE 'add_BackupDev_log' TO 'L:\LOG\add_BackupDev.ldf', NOUNLOAD, REPLACE; GO
Это должно восстановить вашу базу данных.