Могу ли я спросить, почему бы просто не сделать это, отрезав фрейм данных. Что-то вроде
#create some data with Names column
data = pd.DataFrame({'Names': ['Joe', 'John', 'Jasper', 'Jez'] *4, 'Ob1' : np.random.rand(16), 'Ob2' : np.random.rand(16)})
#create unique list of names
UniqueNames = data.Names.unique()
#create a data frame dictionary to store your data frames
DataFrameDict = {elem : pd.DataFrame for elem in UniqueNames}
for key in DataFrameDict.keys():
DataFrameDict[key] = data[:][data.Names == key]
Привет, у вас есть словарь фреймов данных так же, как (я думаю), вы хотите их. Нужно получить доступ к одному? Просто введите
DataFrameDict['Joe']
Надейтесь, что помогает
Я понял это. Ясно, что когда я инициализировал указатель char, его нельзя изменить, но мы можем изменить его содержимое, если выделим для него память. Я думаю, что причина этой ошибки в том, что, когда я инициализирую ее с явным присвоением массива char, программа пытается получить доступ к неприемлемому блоку памяти и пытается изменить его, что является правильным, потому что инициализация - это просто отображение адреса константы в памяти указатель. И когда с динамическим распределением памяти в начале нет выделенной константы в памяти, выделенной для указателя, и функция strcpy прекрасно копировала символы.