我在两个靠近的数据框中有经度和纬度。如果我运行精确的相似性检查,例如
test_similar = test1_latlon.loc[~test1_latlon['cr'].isin(test2_latlon['cr'])]
Run Code Online (Sandbox Code Playgroud)
我遇到了很多失败,因为很多数字都偏离了小数点后第五位。我想截断小数点后第三位。我见过人们格式化,因此它显示被截断,但我想更改实际值。使用round()四舍五入数据,我会得到更多错误,那么有没有办法只删除小数点后 3 位呢?
我有一个包含纬度、经度和功率百分比的数据框。我想做一些非常简单但不确定如何做的事情:应用颜色图根据数据点的百分比为数据点着色。所以 90% 是红色,100% 是蓝色。我已经创建了成功的地图和颜色图,但不确定下一步如何进行。
import folium
import pandas as pd
import folium.plugins
import branca
import branca.colormap as cm
data = [
[33.823400, -118.12194, 99.23],
[33.823500, -118.12294, 95.23],
[33.823600, -118.12394, 91.23],
[33.823700, -118.12494, 90.00]
]
df = pd.DataFrame(data, columns=['latitude','longitude','power'])
x_start = (df['latitude'].max() + df['latitude'].min()) / 2
y_start = (df['longitude'].max() + df['longitude'].min()) / 2
start_coord = (x_start, y_start)
map = folium.Map(location=start_coord, zoom_start=12)
lat = list(df.latitude)
lon = list(df.longitude)
for loc in zip(lat, lon):
folium.Circle(
location=loc,
radius=10,
#fill=True,
#color='blue',
#fill_opacity=0.7
).add_to(map)
display(map)
colormap …Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的单列数据框,其中包含 %H:%M:%S 格式的字符串时间值。
import pandas as pd
data = ['22:00:00', '22:30:00', '23:00:00', '23:30:00', '00:00:00', '00:30:00', '01:00:00']
df = pd.DataFrame(data, columns = ['DateTime'])
df
Run Code Online (Sandbox Code Playgroud)
结果是:
DateTime
0 22:00:00
1 22:30:00
2 23:00:00
3 23:30:00
4 00:00:00
5 00:30:00
6 01:00:00
Run Code Online (Sandbox Code Playgroud)
如何将日期(即今天:2019-10-28)附加到第一行的时间,并将其扩展到所有剩余时间,在午夜结束新的一天(如第 4 列)。
期望的结果是:
DateTime
0 2019-10-28 22:00:00
1 2019-10-28 22:30:00
2 2019-10-28 23:00:00
3 2019-10-28 23:30:00
4 2019-10-29 00:00:00
5 2019-10-29 00:30:00
6 2019-10-29 01:00:00
Run Code Online (Sandbox Code Playgroud)
我已经尝试过
df['DateTime'] = pd.to_datetime(df.DateTime, format='%H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
但它从 1900 年 1 月 1 日开始日期,并且不会在午夜结束。