Как построить новый фрейм данных из строк исходного фрейма данных в al oop в Python? - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть фрейм данных df1, заполненный определенными данными, и пустой фрейм данных df2.

df1 = pd.DataFrame({'a':[1,2,3,4,5], 'b':[6,7,8,9,0]}, columns=['a','b'])
df2 = pd.DataFrame([])

Я l oop над df1 с помощью iterrows и хочу заполнить df2 несколькими строками df1. Я пытаюсь это сделать, но получаю пустой фрейм данных df2:

for idx, row in df1.iterrows():
    df2.append(pd.DataFrame(row, index=[0]), ignore_index=True)

Я знаю, я могу упростить простое добавление, но у моего целевого случая сложное условие, поэтому я использую l oop , Пожалуйста, помогите мне сделать это правильно. BR

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

Полагаю, вы хотите заполнить df2 строками из df1 согласно условию.

Например, если вы хотите, чтобы все строки, где столбец a был> 2, вы можете написать:

df2 = df1[df1['a']>2] 

Вам не нужно все oop, циклы слишком дороги по времени и памяти. Вместо этого используйте оптимизированные функции pandas.

0 голосов
/ 17 апреля 2020

Извини! Глупая ошибка - думал, что задание выполняется автоматически, но это не так. Вот что я искал: df2 = df2.append(row, ignore_index=True)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...