我正在一个项目上,试图创建一个函数来读取DataFrame对象中特定行的一列中的值。基于该值,我想为DataFrame上的两个新列创建两个新值。
此处提供的答案:adding multiple columns to pandas simultaneously是我一直试图复制但没有成功的内容。这是我正在使用的东西:
#name of the column is "query_str"
table["query_str"][0:5]
0 7900+Orcutt+Rd,+San+Luis+Obispo+CA+93401
1 7900+Orcutt+Rd,+San+Luis+Obispo+CA+93401
2 7900+Orcutt+Rd,+San+Luis+Obispo+CA+93401
3 25+Golddigger+Ln,+Oroville+CA+95966
4 Crystal+Ranch+Rd,+Feather+Falls+CA+95940
这是我创建的函数,用于尝试在表DataFrame中创建两个新列“ lat”和“ long”:
def create_lat_long(tbl, col):
for x in tbl[col]:
tbl[["lat", "long"]] = pd.DataFrame([[x[0],x[1]]], index=tbl.index)
return(tbl)
table = create_lat_long(table, "query_str")
table[["query_str", "lat", "long"]][0:5]
但是我得到一些奇怪的输出(对格式感到抱歉):
query_str lat long
0 7900+Orcutt+Rd,+San+Luis+Obispo+CA+93401 1 7
1 7900+Orcutt+Rd,+San+Luis+Obispo+CA+93401 1 7
2 7900+Orcutt+Rd,+San+Luis+Obispo+CA+93401 1 7
3 25+Golddigger+Ln,+Oroville+CA+95966 1 7
4 Crystal+Ranch+Rd,+Feather+Falls+CA+95940 1 7
我希望“ lat”和“ long”值为:
7,9
7,9
7,9
2,5
C,r
我对该流程的运作方式有何误解?我想确保在调用API提供实际的纬度和经度数据之前正确执行此操作。