Run The Bridge

(Pandas) 특정 횟수를 Count한 다음 각 Row에 값 넣기 본문

Python/※Pandas Tip

(Pandas) 특정 횟수를 Count한 다음 각 Row에 값 넣기

anfrhrl5555 2020. 11. 22. 19:58
728x90
반응형


1

attack_list = list(np.array(train_dataset['Attack_Name'].tolist()))

cs


Attack_Name
list로 변환 후 attack_list에 담는다.


다음과 같은 형태로 이루어져있다.



1

2

3

attack_number = []

for i in attack_list:

    attack_number.append(i[:6])

cs

Unique값으로 쓸 수 있는 앞에 (nnnn)parsing한다.



1

2

3

count_IP = []

for i in attack_number:

    count_IP.append(len(list(df_train[df_train['Attack_Name'].str.contains(i)]['Attack_IP'].unique().tolist())))

cs

Count_IP라는 빈 list를 생성한 뒤, attack_numberi에 담아준다.


그 후 str.contains()를 사용하여, attack_number로 시작하는 숫자를 모두 뽑고, Attack_IPunique값들을 list로 생성한다.




그러면 다음과 같이 숫자들이 count 되는것을 볼 수 있다.



1

2

# Column 입력

train_dataset['Attack_IP_Count'= count_IP  

cs


그 다음 DataFrameColumn을 생성하고 값을 넣어주면된다.




Project하면서 생각보다 괜찮은 코딩인거 같아서 review를 해보았는데, 생각보다 표현하기가 어려운거같다.


더 쉬운방법이 있으면 댓글로 알려주면 감사하겠습니다.


감사합니다. Thank you!

728x90
반응형
Comments