小编gei*_*ate的帖子

Pandas Dataframe 如何在不四舍五入的情况下截去浮点小数点?

我在两个靠近的数据框中有经度和纬度。如果我运行精确的相似性检查,例如

test_similar = test1_latlon.loc[~test1_latlon['cr'].isin(test2_latlon['cr'])]
Run Code Online (Sandbox Code Playgroud)

我遇到了很多失败,因为很多数字都偏离了小数点后第五位。我想截断小数点后第三位。我见过人们格式化,因此它显示被截断,但我想更改实际值。使用round()四舍五入数据,我会得到更多错误,那么有没有办法只删除小数点后 3 位呢?

python truncate dataframe pandas

6
推荐指数
2
解决办法
2万
查看次数

不确定如何将颜色图与 Folium 标记图一起使用

我有一个包含纬度、经度和功率百分比的数据框。我想做一些非常简单但不确定如何做的事情:应用颜色图根据数据点的百分比为数据点着色。所以 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)

python pandas colormap folium

5
推荐指数
1
解决办法
5845
查看次数

如何添加 pandas 日期时间转换的开始日期并将公式扩展到所有行,就像在 Excel 中一样?

我创建了一个简单的单列数据框,其中包含 %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 日开始日期,并且不会在午夜结束。

python datetime pandas

5
推荐指数
1
解决办法
622
查看次数

标签 统计

pandas ×3

python ×3

colormap ×1

dataframe ×1

datetime ×1

folium ×1

truncate ×1