小编tra*_*mot的帖子

在Python中合并两个GEOJSON多边形

有没有办法在python中合并两个重叠的GEOJSON多边形,返回一个合并的GEOJSON对象?

python geojson

8
推荐指数
2
解决办法
4503
查看次数

沿着多线插入每个X距离的形状

如果我有一个形状多线的对象,其中包含许多线,每条线的总长度为50km(从原点开始追踪),我想每隔X米沿多线插值(比如说100米),每100米返回一个匀称的点对象,如何我可以做到这一点吗?

这是我到目前为止所做的,但它只返回一个不同的点(当我知道它应该返回数千,在ArcMap中测试):

points = []

for x in range(100,50000,100):
    x,y = multiline.interpolate(x).xy
    xy = (x[0],y[0])
    points.append(xy)

trim = list(set(points))
Run Code Online (Sandbox Code Playgroud)

以下是修剪包含的内容:

[(-90.5864707030599, 38.4688716729703)]
Run Code Online (Sandbox Code Playgroud)

如果我将多线分成单独的线,我可以获得更多的分(162),但仍然不是我应该生成的1000s:

lines_shape = []

# breaking out individual lines into shapely line strings
for line in multiline:
    lines_shapes.append(gm.asLineString(line))

points = []

# interpolating points along each line
for line in lines_shapes:
    for x in range(100,50000,100):
        points.append(line.interpolate(x))

point_list = []
for point in points:
    x,y = point.xy
    xy = (x[0],y[0])
    point_list.append(xy)

trim = list(set(point_list))
Run Code Online (Sandbox Code Playgroud)

和trim包含:

[(-90.4766827033434, 38.5972414054466), (-90.5461231698478, 38.5000688058116), …
Run Code Online (Sandbox Code Playgroud)

python shapely

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

在Pandas dataframe.to_csv中将缓冲区设置为0

使用Pandas dataframe.to_csv()时,是否可以将缓冲区设置为“ 0”?我仔细阅读了文档,似乎不允许这样做。我在俯视什么吗?

编辑:我问,因为我正在输出的数据帧的大小范围从几百行到几千行(总是具有相同的7列),并且最终检查文件的后续过程有时会失败,因为有时它没有完成被写。

我当然可以引入一个延迟(3-5分钟),但是我宁愿不要随意降低我的代码的速度-我宁愿强迫该代码等待输出完成在继续之前,以及在使用open()写入文件时,能够将缓冲区值设置为0很好。

python csv pandas

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

比较 Pandas 数据框的列是否相等以产生 True/False,甚至是 NaN

我在熊猫数据框中有两列应该是相同的。每列都有许多 NaN 值。我想比较这些列,生成包含 True / False 值的第三列;列匹配时为,不匹配时为

这是我尝试过的:

df['new_column'] = (df['column_one'] == df['column_two'])
Run Code Online (Sandbox Code Playgroud)

以上适用于数字,但不适用于 NaN 值。

我知道我可以用在每一行中没有意义的值替换 NaN(对于我的数据,这可能是 -9999),然后当我准备好回显比较结果时将其删除,但是我想知道是否有我忽略的更 Pythonic 的方法。

python dataframe pandas

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

条件语句在if-else-if梯子的两个部分都为true

如果您有这样的代码:

if (A > X && B > Y)
{
   Action1();
}
else if(A > X || B > Y)
{
   Action2();
}
Run Code Online (Sandbox Code Playgroud)

A > XB > Y,是否if-else-if会执行梯子的两个部分?

我正在处理存在此问题的Java代码.我通常在C++中工作,但在两种语言中都是一个非常新的(和零星的)程序员.

java if-statement conditional-statements

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

访问存储在向量 <base*> 中的已知派生类对象时,使用dynamic_cast或static_cast有什么问题?

这是我的问题的后续内容: Updating data Members of different obliged Class of the same base class inside a vector

我正在 C++ 中构建一个 3D 网格模型,它具有不同的单元类型,所有单元类型都存储在Grid类中的向量中。我定义了一个GridCell基类,并且还有几个派生类GridCell1GridCell2GridCell3等。

我将GridCell对象传递到模型进程中。传递的GridCell对象类型(其派生类)将与接收模型进程一起使用。换句话说,模型进程模型进程被设计(可能是不正确的),具有不同的函数,期望对适当的派生对象的数据成员进行操作。当然,他们看不到,因为对象是从 中拉出的,std::vector<gridCell*> gridCellVector所以它只将该对象视为指向基类的指针。此时,我有两个选择:1)重写我的模型流程,2)使用static_cast或dynamic_cast向下转换传递的对象。

问题:在这种情况下,当我的模型进程(仅在正确类型的GridCell对象上运行)知道它们正在接收什么派生类时,我应该使用 static_cast 还是dynamic_cast?人们似乎真的不喜欢使用这些工具。为什么我应该远离使用这些?

c++ inheritance dynamic-cast vector static-cast

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

在切片/重置索引后使用 iterrows() 与 Pandas DF 时出现问题

我从 CSV 文件中读取了数千行,其中包含用于计算不同输出的数据。我读取这个 CSV 文件并将输入存储在 Pandas 数据框中。然后我用来itterrows()循环数据帧。有时我的代码会失败,此时我希望读取原始文件,但在失败后的行中拾取进程。因此,当发生这种情况时,请设置我的代码,以便在进入 for 循环之前取消注释两行并将原始数据帧缩小到一定大小itterrows()

# slicing it and re-indexing when a restart is needed
df_slice = df.iloc[1292:,]
for index,row in df_slice.iterrows():
Run Code Online (Sandbox Code Playgroud)

然而,如果我如上所示对原始数据帧进行切片,“itterrows()”循环中的索引值将从 1292 开始,因此会从较小的切片数据帧顶部跳过 1292 个位置。如何让它从 0/1 开始?

我尝试重置索引:

# slicing it and re-indexing when a restart is needed
df_slice = df.iloc[1292:,]
df_slice.reset_index()

for index,row in df_slice.iterrows():
Run Code Online (Sandbox Code Playgroud)

但这并没有改变任何事情 - 蒸馏器中的索引for index,row in df_slice.iterrows():停留在 1292,因此切片索引下降了 1292 个位置。

那么,我如何才能直接iterrows()到某个起始行(在原始索引上)或正确地切片并重置较小数据帧的索引,以便能够从新的“顶”行开始并向下移动。

python dataframe pandas

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

在R中为辅助轴添加标签

我有这个代码:

# Plotting everything
plot( p1, col= "lightgreen", xlim=c(-2.5,4.5), ylim=c(0, 700), main="Daily Total Precipitation for AR and Oct-May", xlab="ln(x)" , ylab="Frequency", xaxt = "n")  # first histogram
plot( p2, col="red", xlim=c(-2.5,4.5), ylim=c(0, 700), xaxt = "n" , add=T)
# Adding in text labels on top of the bars
text(x, y, paste(round(percents,2),"%"), cex=0.50, pos=3, offset=0.3, col="black")
axis(side=1, at=breaks)     # new x-axis
# parameter that needs to be set to add a new graph on top of the other ones
par(new=T)
plot(x, …
Run Code Online (Sandbox Code Playgroud)

r axis-labels

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

在Python中将十进制时间(HH.HHH)转换为HH:MM:SS

我有几个小时采用这种格式,

72.345, 72.629, 71.327, ...
Run Code Online (Sandbox Code Playgroud)

作为在Python中执行计算的结果。似乎将它们转换为HH:MM:SS格式的最简单方法是使用datetime模块,如下所示:

time = str(datetime.timedelta(seconds = 72.345*3600))
Run Code Online (Sandbox Code Playgroud)

但是,这将返回一个带有天数的值,我不希望这样:

'3 days, 0:20:42'
Run Code Online (Sandbox Code Playgroud)

这是我的大脑得出我想要的最终值的最佳方法:

str(int(math.floor(time))) + ':' + str(int((time%(math.floor(time)))*60)) + ':' + str(int(((time%(math.floor(time)))*60) % math.floor(((time%(math.floor(time)))*60))*60))
Run Code Online (Sandbox Code Playgroud)

这太长了,可能没有必要。但这确实给了我想要的答案:

'72:20:41'
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

python datetime

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

将代表总分钟数的数字转换为Python中的日期时间对象

如果我有一个代表我感兴趣的时间段的数字,例如代表 360 分钟或 6 小时的数字 360,如何将其转换为日期时间对象,以便我可以对其执行标准日期时间对象函数?

同样,如果我有一个格式为 00:30:00 的日期时间对象,代表 30 分钟,如何将其转换为普通整数变量?

python datetime

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

map.find()和map.end()迭代器据说是不兼容的?

我在if语句中使用map.find(key)和map.end()函数:

if( p_Repos->returnTypeMap().find(tc[0]) != p_Repos->returnTypeMap().end() ) 
Run Code Online (Sandbox Code Playgroud)

但它不起作用,我得到一个Microsoft Visual C++运行时库错误,告诉我"表达式:列表迭代器不兼容".tc [0]只是一个字符串,我的地图中的键位置是一个字符串.

但是,它们应该兼容,对吗?

任何帮助是极大的赞赏.

谢谢,汤姆

编辑:根据这里找到的答案:在unordered_map中查找值,我会相信这应该是def.

第二次编辑:
这是returnTypeMap()函数:

std::unordered_map <std::string, std::pair<std::string, std::string>> returnTypeMap()
{
      return typeTable;
}
Run Code Online (Sandbox Code Playgroud)

这是我的地图的定义:

std::unordered_map <std::string, std::pair<std::string, std::string>> typeTable;
Run Code Online (Sandbox Code Playgroud)

c++ iterator unordered-map

0
推荐指数
1
解决办法
2669
查看次数

在python中遍历复杂字典的更简单方法?

我正在迭代一个复杂的json对象作为字典加载到python中.下面是json文件的示例.感兴趣的数据被评论.

{  
   "name":"ns1:timeSeriesResponseType",
   "nil":false,
   "value":{  
      "queryInfo":{  },
      "timeSeries":[  
         {  
            "variable":{  },
            "values":[  
               {  
                  "qualifier":[  ],
                  "censorCode":[  ],
                  "value":[  
                     {  
                        "codedVocabularyTerm":null,
                        "censorCode":null,
                        "offsetTypeID":null,
                        "accuracyStdDev":null,
                        "timeOffset":null,
                        "qualifiers":[  
                           "P",                      # data of interest
                           "Ice"                     # data of interest
                        ],
                        "qualityControlLevelCode":null,
                        "sampleID":null,
                        "dateTimeAccuracyCd":null,
                        "methodCode":null,
                        "codedVocabulary":null,
                        "sourceID":null,
                        "oid":null,
                        "dateTimeUTC":null,
                        "offsetValue":null,
                        "metadataTime":null,
                        "labSampleCode":null,
                        "methodID":null,
                        "value":"-999999",
                        "dateTime":"2015-02-24T03:30:00.000-05:00",
                        "offsetTypeCode":null,
                        "sourceCode":null
                     },
                     {  
                        "codedVocabularyTerm":null,
                        "censorCode":null,
                        "offsetTypeID":null,
                        "accuracyStdDev":null,
                        "timeOffset":null,
                        "qualifiers":[  ],
                        "qualityControlLevelCode":null,
                        "sampleID":null,
                        "dateTimeAccuracyCd":null,
                        "methodCode":null,
                        "codedVocabulary":null,
                        "sourceID":null,
                        "oid":null,
                        "dateTimeUTC":null,
                        "offsetValue":null,
                        "metadataTime":null,
                        "labSampleCode":null,
                        "methodID":null,
                        "value":"-999999",                          # data of interest
                        "dateTime":"2015-02-24T04:00:00.000-05:00", # …
Run Code Online (Sandbox Code Playgroud)

python iteration dictionary

0
推荐指数
1
解决办法
593
查看次数