我的資料框看起來像這樣:
ID ADDRESS PRICE LOCATION
1 NEW YORK, BROOKLYN, 1 500 NEW YORK
2 LONDON, LONDON, 2 400 " "
.
.
.
我想用地址中的值填充“”。我試過這樣的事情:
i = 2008
for addrs, loc in zip(addr[2008:].ADDRSS, addr[2008:].LOCATION):
if addrs.find('NEW YORK') != -1:
addr[i].LOCATION = 'NEW YORK'
if addrs.find('LONDON') != -1:
addr[i].LOCATION = 'LONDON'
if addrs.find('PRAGUE') != -1:
addr[i].LOCATION = 'PRAGUE'
i = i 1
.
.
.
位置沒有從某行填寫,所以這就是為什么有addr[2008:]。位置不會改變,所以我可以讓它們這樣寫。此代碼回傳 KeyError。我真的不知道,這有什么問題,有人可以幫忙嗎?
uj5u.com熱心網友回復:
你可以這樣做:
df.loc[df['LOCATION'].eq(' '), 'LOCATION'] = df['ADDRESS']
uj5u.com熱心網友回復:
據我了解,如果LOCATIONS欄有“”號,ADDRESS欄會填入國家資訊。
以下代碼對此很有用。
addr['LOCATION'].apply(lambda x: x if x != " " else addr['ADDRESS'].split(sep=',')[0])
我希望這個對你有用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/344011.html
上一篇:R:為前n列值制作帶有行名的表格
