小编mrs*_*uid的帖子

R:ggmap中的get_map()/ get_googlemap()错误

我正在尝试使用GGmap按州创建车辆撞车图。该地图将包含根据该州发生的车祸次数确定大小的点。

特别是,我试图重新创建此博客文章的可视化群集部分中所示的美国图解。

但是,每当我尝试创建地图时,都会出现此错误。

Error in aperm.default(map, c(2, 1, 3)) : 
  invalid first argument, must be an array
Run Code Online (Sandbox Code Playgroud)

我已经设置了Google API,并看到它收到了点击数。我也启用了它并拥有密钥。

另外,我使用以下命令从github帐户安装了GGmap:

devtools::install_github("dkahle/ggmap", ref = "tidyup", force=TRUE)
Run Code Online (Sandbox Code Playgroud)

由于CRAN尚未更新。

我也重新启动并退出了R,但错误仍然存​​在。

即使我只是简单地运行:

get_map()
Run Code Online (Sandbox Code Playgroud)

它仍然导致错误:

Error in aperm.default(map, c(2, 1, 3)) : 
      invalid first argument, must be an array
Run Code Online (Sandbox Code Playgroud)

以下是我的代码,它类似于博客文章中的代码:

mydata$State <- as.character(mydata$State)
mydata$MV.Number = as.numeric(mydata$MV.Number)
mydata = mydata[mydata$State != "Alaska", ]
mydata = mydata[mydata$State != "Hawaii", ]
devtools::install_github("dkahle/ggmap", ref = "tidyup", force=TRUE)
library(ggmap)
ggmap::register_google(key = "...") #my key is here
for …
Run Code Online (Sandbox Code Playgroud)

plot dictionary r ggplot2 ggmap

7
推荐指数
1
解决办法
4140
查看次数

Python用相同的键对Dataframe中的行求和

我想总结数据框中具有相同行键的行。

目的是缩小数据集的大小。

例如,如果数据框看起来像这样。

Fruit       Count

Apple         10

Pear          20

Apple          5

Banana         7

Banana         12

Pear           8  

Apple          10
Run Code Online (Sandbox Code Playgroud)

我希望最终的数据框看起来像这样。

Fruit       Count

Apple         25

Pear          28

Banana        19
Run Code Online (Sandbox Code Playgroud)

我正在使用Python的pandas、numpy、matplotlib和其他数据分析包。有没有办法在 python 中使用这些包中的函数来做到这一点?

这是创建示例数据框的代码。

df = pd.DataFrame([["Apple", 10], ["Pear", 20], ["Apple", 5], ["Banana", 7], ["Banana", 12], ["Pear", 8], ["Apple", 10]], columns=["Fruit", "Count"])
Run Code Online (Sandbox Code Playgroud)

python statistics numpy pandas data-cleaning

5
推荐指数
2
解决办法
6635
查看次数

将熊猫系列输出到txt文件

我有一个熊猫系列对象

<class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

userId
1          3072 1196 838 2278 1259
2               648 475 1 151 1035
3               457 150 300 21 339
4          1035 7153 953 4993 2571
5           260 671 1210 2628 7153
6          4993 1210 2291 589 1196
7               150 457 111 246 25
8       1221 8132 30749 44191 1721
9           296 377 2858 3578 3256
10          2762 377 2858 1617 858
11           527 593 2396 318 1258
12        3578 2683 2762 2571 2580
13        7153 150 …
Run Code Online (Sandbox Code Playgroud)

python file-io numpy dataframe pandas

3
推荐指数
1
解决办法
1万
查看次数

Python元组排序列表按值反向和按密钥非反向(两种不同方式)

标题很混乱,但问题很简单。

说我有一个像这样的元组列表:

d = [('said', 12), ('that', 12), ('electricity', 11), ('was', 10), ('the', 51), ('zealand', 9), ('for', 13), ('new', 12), ('power', 14), ('transmission', 14), ('and', 9)]
Run Code Online (Sandbox Code Playgroud)

我想对列表进行排序,以便按值降序对其进行排序。但是,我希望领带按键字母顺序排序。

即,对于上面的列表,“新西兰”和“和”都具有相同的值。但是在排序的列表输出中,我希望“和”出现在“新西兰”之前。

我试着做

d.sort(key=operator.itemgetter(1, 0), reverse=True)
print(d)
Run Code Online (Sandbox Code Playgroud)

这给了我输出

[('the', 51), ('transmission', 14), ('power', 14), ('for', 13), ('that', 12), ('said', 12), ('new', 12), ('electricity', 11), ('was', 10), ('zealand', 9), ('and', 9)]
Run Code Online (Sandbox Code Playgroud)

但是,元组('zealand', 9)出现('and', 9)在现实中之前,而我想出('and', 9)现在之前,('zealand', 9)因为“和”按字母顺序在“新西兰”之前。

什么是做这种类型的排序的最佳方法,在这种排序中,值的一个方向是反向的,而键的方向不是反向。

如果您需要更多信息,请告诉我。

感谢您的时间。

python sorting tuples list

3
推荐指数
1
解决办法
74
查看次数

R 查找两个美国邮政编码列之间的距离

我想知道使用 R 计算两个美国邮政编码列之间的距离的最有效方法是什么。

我听说过用于计算邮政编码之间差异的 geosphere 包,但并不完全理解它,并且想知道是否还有其他方法。

例如说我有一个看起来像这样的数据框。

 ZIP_START     ZIP_END
 95051         98053
 94534         94128
 60193         60666
 94591         73344
 94128         94128
 94015         73344
 94553         94128
 10994         7105
 95008         94128
Run Code Online (Sandbox Code Playgroud)

我想创建一个看起来像这样的新数据框。

 ZIP_START     ZIP_END     MILES_DIFFERENCE
 95051         98053       x
 94534         94128       x
 60193         60666       x
 94591         73344       x
 94128         94128       x
 94015         73344       x
 94553         94128       x
 10994         7105        x
 95008         94128       x
Run Code Online (Sandbox Code Playgroud)

其中 x 是两个邮政编码之间的英里差。

计算此距离的最佳方法是什么?

这是创建示例数据框的 R 代码。

df <- data.frame("ZIP_START" = c(95051, 94534, 60193, 94591, 94128, 94015, 94553, 10994, 95008), "ZIP_END" = …
Run Code Online (Sandbox Code Playgroud)

r distance tidyverse geosphere

2
推荐指数
1
解决办法
1862
查看次数