Python 将函数应用于数据帧
我有一个地理定位功能,我想应用到不同的数据帧,我通过使用一些其他功能得到。 我想做这样的事情,但我不知道怎么做:Python 将函数应用于数据帧,python,pandas,Python,Pandas,我有一个地理定位功能,我想应用到不同的数据帧,我通过使用一些其他功能得到。 我想做这样的事情,但我不知道怎么做: deadly.apply(geolocation()) 这是阅读熊猫的代码: import pandas as pd import math names = ["ID", "Vreme", "E", "N", "Ishod", "Tip", "Opis"] my_dataFrame = pd.read_csv("SaobracajBeograd.csv", header = N
deadly.apply(geolocation())
这是阅读熊猫的代码:
import pandas as pd
import math
names = ["ID", "Vreme", "E", "N", "Ishod", "Tip", "Opis"]
my_dataFrame = pd.read_csv("SaobracajBeograd.csv", header = None, names = names)
这是我要应用的函数:
def geolocation():
#extract only coordinates and convert them to tuple
coordinates_data = my_dataFrame[["N", "E"]]
coordinates_data = coordinates_data.apply(tuple, axis=1)
#add tuple coordinates to list
coordinate_list = []
for coord in coordinates_data:
coordinate_list.append(coord)
#defult map location
gmap = gmplot.GoogleMapPlotter(44.797140, 20.513460, 11)
# Scatter points
coordinate_lats, coordinate_lons = zip(*coordinate_list)
gmap.scatter(coordinate_lats, coordinate_lons, 'red', size = 150, marker = False)
# Draw
gmap.draw("my_map1.html")
#geolocation()
这是给我数据帧的函数,我想用它来应用函数,以及函数的结果:
def accidents_with_deadly_outcome():
deadly = my_dataFrame[my_dataFrame["Ishod"] == "Sa poginulim"]
deadly = deadly[["Ishod", "E", "N"]].reset_index(drop=True)
return deadly
#print(accidents_with_deadly_outcome())
0 Sa poginulim 20.657460 44.490140
1 Sa poginulim 20.654150 44.468720
2 Sa poginulim 20.536690 44.787231
3 Sa poginulim 20.510760 44.652443
4 Sa poginulim 20.510540 44.884460
5 Sa poginulim 20.471758 44.788613
6 Sa poginulim 20.359841 44.742405
7 Sa poginulim 20.472120 44.763520
8 Sa poginulim 20.610525 44.676290
带有致命后果()的事故结果:
功能:
def accidents_with_deadly_outcome():
deadly = my_dataFrame[my_dataFrame["Ishod"] == "Sa poginulim"]
deadly = deadly[["Ishod", "E", "N"]].reset_index(drop=True)
return deadly
#print(accidents_with_deadly_outcome())
0 Sa poginulim 20.657460 44.490140
1 Sa poginulim 20.654150 44.468720
2 Sa poginulim 20.536690 44.787231
3 Sa poginulim 20.510760 44.652443
4 Sa poginulim 20.510540 44.884460
5 Sa poginulim 20.471758 44.788613
6 Sa poginulim 20.359841 44.742405
7 Sa poginulim 20.472120 44.763520
8 Sa poginulim 20.610525 44.676290
你有一点工作要做,以达到一个目标,使问题可以更好地阐明。两件事:提供样本数据和预期输出。分离处理数据帧和可视化数据的关注点
pandas.apply()
对于转换地理空间数据最为有效,然后可以将这些数据传递给显示它的对象。如果您可以排除无法重新创建的显示部分,您将获得更好的响应。apply
需要函数名,而不需要()
-它通常被称为“回调”
-致命。apply(地理位置)
@RichAndrews我稍微更改了我的代码。我只是不知道我的def geolocation():
函数应该返回什么以便我以后可以使用它。您不想将apply
与该geolocation
函数一起使用。您只需要将数据帧作为参数传递给函数(并传递致命的
数据帧,而不是我的数据帧
一个)@SergeBallesta您能给我写一个示例代码吗?您需要做一些工作才能得到一个更清晰的答案,以便更好地阐明问题。两件事:提供样本数据和预期输出。分离处理数据帧和可视化数据的关注点pandas.apply()
对于转换地理空间数据最为有效,然后可以将这些数据传递给显示它的对象。如果您可以排除无法重新创建的显示部分,您将获得更好的响应。apply
需要函数名,而不需要()
-它通常被称为“回调”
-致命。apply(地理位置)
@RichAndrews我稍微更改了我的代码。我只是不知道我的def geolocation():
函数应该返回什么以便我以后可以使用它。您不想将apply
与该geolocation
函数一起使用。您只需要将数据帧作为参数传递给函数(并传递致命的
数据帧而不是我的数据帧
一个)@SergeBallesta您能给我写一个示例代码吗?