Копирование частей фрейма данных в другой фрейм данных

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

 user = users[1]
column_user=list(user)
p = pd.DataFrame(np.zeros((50, 5)), dtype=str, columns=column_user)
p[:]=user[4:54]
print(p)
 

Итак, p — это просто фрейм данных, заполненный нулями, и я хочу скопировать определенные строки пользовательского df в первые 50 строк p df.
Но по какой-то причине он устанавливает каждую строку от 4 до Nan.
Есть идеи, почему индекс df, в который я хочу скопировать, зависит от индекса скопированного df? Есть идеи, как решить эту проблему?

вывод

Ответ №1:

Почему бы вам напрямую не создать этот фрейм данных:

 pd.DataFrame(user[4:54].values, dtype=str, columns=column_user)
 

или просто заменить

 p[:]=user[4:54]
 

с помощью

 p.iloc[:50]=user[4:54].values
 

Комментарии:

1. Я хочу заполнить пользователей, у которых менее 50 строк с нулями. Но .values решил проблему. Большое вам спасибо.