Панды перебирают строку и ячейку в строке и добавляют новую строку в новый df

#python-3.x #pandas

#python-3.x #pandas

Вопрос:

Как мне проверить наличие нескольких элементов в ячейке, а затем, если они есть, просмотреть их и поместить каждый в новую строку в новом df?

Начиная с CSV

 Computer Name, IP Address
host1    192.168.5.2n192.168.5.3n192.168.5.4n
host2   192.168.5.5
  

Я знаю, как открыть и превратить второй столбец в список в ячейке, но как мне использовать pandas для итерации по новому столбцу, а затем создать новый df?

 df = pd.DataFrame(data,columns=["Computer Name","IP Address"])
print(df.iloc[:2])
df['EventItem'] = df['IP Address'].str.split("n")
df = pd.DataFrame(df,columns=["Computer Name","EventItem"])
  

дает мне…

 Computer Name, EventItem
host1    [192.168.5.2,192.168.5.3,192.168.5.4]
host2   [192.168.5.5]
  

Не буду врать, я немного запутался в том, как это сделать

 host1   192.168.5.2
host1   192.168.5.3
host1   192.168.5.4
host2   192.168.5.5
  

Буду признателен за любые предложения… Спасибо!!

Ответ №1:

После этого split выполните explode

 df = df.explode('EventItem')