array_agg()我有一个查询,使用它们的函数生成数组字符串
SELECT
array_agg(message) as sequence
from mytable
group by id
Run Code Online (Sandbox Code Playgroud)
它会生成一个如下所示的表:
sequence
1 foo foo bar baz bar baz
2 foo bar bar bar baz
3 foo foo foo bar bar baz
Run Code Online (Sandbox Code Playgroud)
但我的目标是压缩字符串数组,以便没有一个字符串可以连续重复多次,例如,所需的输出如下所示:
sequence
1 foo bar baz bar baz
2 foo bar baz
3 foo bar baz
Run Code Online (Sandbox Code Playgroud)
如何使用 Presto SQL 来做到这一点?
我有下表,但经过多次尝试无法绘制数据,以便 x 轴刻度线与year. 我找到了箱线图的解决方案,但不适用于geom_line()
我怎样才能制作一年的离散标签?
以下解决方案不起作用
g + scale_x_discrete(limits=c("2013","2014","2015"))
g + scale_x_discrete(labels=c("2013","2014","2015"))
Run Code Online (Sandbox Code Playgroud)
distance_of_moves 距离移动年 1 2.914961 2013 2 2.437516 2014 3 2.542500 2015
ggplot(data = distance_of_moves, aes(x = year, y = `distancemoved`, group = 1)) +
geom_line(color = "red", linetype = "dashed", size = 1.5) +
geom_point(color = "red", size = 4, shape = 21, fill = "white") +
ylab("平均移动距离") +
xlab("年")
我是 geopandas 新手,只想绘制多边形的轮廓,类似于ST_Boundary()PostGIS 中的功能
我有一个states包含每个州的多边形的地理数据框
states = counties.dissolve(by='STATEFP')
Run Code Online (Sandbox Code Playgroud)
当我按一个状态进行子集化时,我可以绘制该状态:
states.loc[states.index.isin(['06'])]['geometry']
Run Code Online (Sandbox Code Playgroud)
我只对轮廓感兴趣,但文档中尚不清楚如何将多边形转换为线几何形状。或另一个空间库中是否有有用的方法geopandas可以帮助将多边形转换为线串?
我想获取 和 之间的子午线或中点stoptime,starttime然后添加带有中点的新列。它可以四舍五入到最接近的秒。在 R 中如何做到这一点?和stoptime都是starttimePOSIXct 形式。有没有比除以difftime两半然后相加更简单的方法stoptime?
> 头(数据) bikeid end.station.id start.station.id diff.time 停止时间 开始时间 24 23966 359 318 1505 2015-10-13 07:45:00 2015-10-13 08:10:05 28 23966 502 311 2072 2015-10-20 14:41:11 2015-10-20 15:15:43 58 17110 337 340 3338 2015-10-15 16:00:39 2015-10-15 16:56:17 74 23822 501 527 3478 2015-10-05 15:55:13 2015-10-05 16:53:11 83 16462 426 146 3368 2015-10-01 07:52:06 2015-10-01 08:48:14 89 23121 435 223 1499 2015-10-08 11:58:08 2015-10-08 12:23:07 …
在下面的示例 json 中,我可以使用以下命令过滤费用为空的记录jq -M ' map(select(.charge == null)) '
[
{
"id": 1,
"name": "vehicleA",
"state": "available",
"charge": 100
},
{
"id": 2,
"name": "vehicleB",
"state": "available",
},
{
"id": 3,
"name": "vehicleB",
"state": "available",
"charge": 50
}
]
Run Code Online (Sandbox Code Playgroud)
返回:
{
"id": 2,
"name": "vehicleB",
"state": "available",
}
Run Code Online (Sandbox Code Playgroud)
如何仅获取id与过滤记录关联的值id,以便将此步骤添加到上述查询中将返回2?
我正在尝试使用传单的热图插件从点的特征集合创建一个简单的热图。从 ajax 调用成功获取 json 数据后,我创建一个空的 coords 数组并推送每个要素的坐标。
但是,此方法不起作用,geojson2heat函数也不起作用。控制台中没有错误。我做错了什么,有人知道解决方法吗?
var map = L.map('map').setView([50.0647, 19.9450], 12);
var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
}).addTo(map);
var geojsonLayer = new L.GeoJSON.AJAX("newmap.geojson");
coords = [];
function onEachFeature(feature, layer) {
coords.push(feature.geometry.coordinates);
};
L.GeoJSON(geojsonLayer, {
onEachFeature: onEachFeature
})
var heat = L.heatLayer(coords).addTo(map);
Run Code Online (Sandbox Code Playgroud)
geojson的结构是标准的:
{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
{ "type": "Feature", "properties": { "st_x": 19.952030181884801, "st_y": 50.055513141929701 }, "geometry": { "type": "Point", …Run Code Online (Sandbox Code Playgroud) 我有两个数据框 -test并且idx - 我的目标是使用merge()或类似的函数来进行条件连接。
例如,testid 具有多个可能的键(某些中还有 NA 值)。您不会找到两个单独的相同的键ids,键将始终是唯一的。
> test
id keyA keyB keyC
1 foo NA 2 10
2 bar 1 NA 6
3 baz 7 NA 4
4 li 8 3 NA
5 qux 9 NA NA
Run Code Online (Sandbox Code Playgroud)
我的目标是加入idx键中存在任何匹配项的位置,例如:
> idx
key value
1 2 NA
2 10 NA
3 7 NA
4 4 NA
5 9 NA
Run Code Online (Sandbox Code Playgroud)
连接应该输出:
> idx
key value
1 2 foo
2 10 …Run Code Online (Sandbox Code Playgroud) 我是 postgres 的新手,希望得到任何建议。我有一个 postgres 表,其中有一timestamp列,其值的格式为:1970-01-01 00:00:00
我的目标是选择过去三个月的记录 - 2016 年 12 月、2017 年 1 月和 2017 年 2 月。如何使用仅读取访问权限编写此查询SELECT?
当我开始时:
SELECT to_char("start_time", 'YYYY-MM-DD HH:MM:SS') FROM trips;
时间转换为 AM/PM 但我只对按月和年提取和子集感兴趣
我有一个 pandas 数据框df,我想根据运行Name某个函数的结果对其进行子集化is_valid()
import pandas as pd
data = [['foo', 10], ['baar', 15], ['baz', 14]]
df = pd.DataFrame(data, columns = ['name', 'age'])
df
name age
0 foo 10
1 baar 15
2 baz 14
Run Code Online (Sandbox Code Playgroud)
该函数检查输入字符串的长度是否为 3 并返回 True 或 False:
def is_valid(x):
assert isinstance(x, str)
return True if len(x) == 3 else False
Run Code Online (Sandbox Code Playgroud)
我的目标是df对该函数返回 True 的位置进行子集化,这将返回输出
name age
0 foo 10
2 baz 14
Run Code Online (Sandbox Code Playgroud)
以下语法返回错误;如果输出满足条件(在本例中 = True),则将函数应用于列(系列)的值并对数据帧进行子集化的正确语法是什么?
df[is_valid(df['name'])]
Run Code Online (Sandbox Code Playgroud) 我有以下数据:
new_pairs
x y Freq start.latittude start.longitude start.station end.latitude
1 359 519 929 40.75188 -73.97770 Pershing\nSquare N 40.75510
2 477 465 5032 40.75514 -73.98658 Broadway &\nW 41 St 40.75641
3 484 519 1246 40.75188 -73.97770 Pershing\nSquare N 40.75500
4 484 318 2654 40.75320 -73.97799 E 43 St &\nVanderbilt\nAve 40.75500
5 492 267 1828 40.75098 -73.98765 Broadway &\nW 36 St 40.75020
6 492 498 957 40.74855 -73.98808 Broadway &\nW 32 St 40.75020
7 492 362 1405 40.75173 -73.98754 Broadway &\nW 37 …Run Code Online (Sandbox Code Playgroud)