У меня есть DataFrame, который читает из файла CSV.
Я использовал функцию loc для успешного получения данных из первого CSV-файла. Моя проблема в том, что я не могу добавить данные, полученные из первого CSV-файла, для добавления в новый DataFrame.
import csv
import socket
import pandas as pd
import ipaddress
import numpy as np
print("Reading data from original csv...")
originaldata = pd.read_csv("input.csv")
sip_data = originaldata.sip
dip_data = originaldata.dip
print("Reading from asn csv...")
asndata = pd.read_csv("asn_ip(4).csv", delimiter = ';')
asn_data = asndata.IP
print(asn_data.head())
newdf = pd.DataFrame()
print("Processing data...")
for sip in sip_data:
print("In for loop for sip in sip_data")
find = False
index = False
for IP in asn_data:
print("In for loop for IP in asn_data")
IP_u = unicode(IP)
print("IP_u = " + IP_u)
print("IP = " + IP)
sip_u = unicode(sip)
print("sip_u = " + sip_u)
if ipaddress.ip_address(sip_u) in ipaddress.ip_network(IP_u):
print("Address found")
info = asndata.loc[asndata['IP'] == IP_u].head(1)
print(info)
newdata = pd.DataFrame({"IP": IP}, index=[0])
newdf.append(newdata)
else:
print("Not found")
После того, как я запустил этот код, фрейм данных все еще пуст.
Empty DataFrame
Columns: []
Index: []
Имена столбцов для первого df: sip, port и datetime.
Имена столбцов для второго df: IP, ASN и Source.