I have two dataframes in pandas.
import pandas as pd
inp1 = [{'network':'1.0.0.0/24', 'A':1, 'B':2}, {'network':'5.46.8.0/23', 'A':3, 'B':4}, {'network':'78.212.13.0/24', 'A':5, 'B':6}]
df1 = pd.DataFrame(inp)
print("df1", df1)
inp2 = [{'ip':'1.0.0.10'}, {'ip':'blahblahblah'}, {'ip':'78.212.13.249'}]
df2 = pd.DataFrame(inp2)
print("df2", df2)
Output:
          network  A  B
0      1.0.0.0/24  1  2
1     5.46.8.0/23  3  4
2  78.212.13.0/24  5  6
              ip
0       1.0.0.10
1   blahblahblah
2  78.212.13.249
The ultimate output I want would appear as follows:
         ip              A           B
0       1.0.0.10         1           2
1   blahblahblah         NaN         Nan
2  78.212.13.249         5           6
I want to iterate through each cell in df2['ip'] and check if it belongs to a network in df1['network']. If it belongs to a network, it would return the corresponding A and B column for the specific ip address. I have referenced this article and considered netaddr, IPNetwork, IPAddress, ipaddress but cannot quite figure it out. 
Help appreciated!