[英]create a new column from a loop
我有一個 dataframe 包含一堆 ip 地址和日期。 我想創建一個新列,指示這些 ip 地址來自哪個國家/地區
給我國家的代碼如下,但我想創建一個循環來替換下面行中的每個 id 地址,並將結果存儲為一個新列或一個新列表,我可以將它 append 到 df。
from ip2geotools.databases.noncommercial import DbIpCity
response = DbIpCity.get('40.77.167.144', api_key='free')
response.country
謝謝!
apply
和lambda
function讓您的 DataFrame 有一個“IP”列,您可以嘗試以下操作:
df['Country'] = df.apply(lambda row: DbIpCity.get(row.IP, api_key='free').country, axis=1)
# Sample DataFrame
df = pd.DataFrame({'IP': ['40.77.167.144', '5.39.7.103']})
IP
0 40.77.167.144
1 5.39.7.103
結果
df['Country'] = df.apply(lambda row: DbIpCity.get(row.IP, api_key='free').country, axis=1)
IP Country
0 40.77.167.144 US
1 5.39.7.103 FR
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.