小编use*_*224的帖子

使用ifelse函数返回null

我试图在R中使用ifelse返回null但是它会抛出一条错误消息.有任何建议请.

这是我的代码:

cntr1 <- ifelse(unlist(gregexpr("---",path_info[j], fixed = TRUE, useBytes = TRUE)) > 0, 3 * length(unlist(gregexpr("---",path_info[j], fixed = TRUE, useBytes = TRUE))),NULL )
Run Code Online (Sandbox Code Playgroud)

错误信息是:

Error in ifelse(unlist(gregexpr("---", path_info[j], fixed = TRUE, useBytes = TRUE)) >  : 
  replacement has length zero In addition: Warning message:
In rep(no, length.out = length(ans)) :
  'x' is NULL so the result will be NULL
Run Code Online (Sandbox Code Playgroud)

r

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

使用 Stackexchange API 检索答案和评论的文本正文

我正在尝试使用堆栈交换 API 从堆栈溢出中检索与 Python 相关的问题、问题评论和问题答案。我想提取所有信息,包括问题、评论和答案的正文。为了提取问题,我使用以下代码:

questions = SITE.fetch('questions', tagged='python', fromdate=from_date, todate=today,filter='!9YdnSIN*P')
Run Code Online (Sandbox Code Playgroud)

此过滤器返回与问题相关的所有信息,包括问题的文本正文。但是,当我使用相同的过滤器来提取这些问题的答案时,我没有得到答案的文本正文。这是代码:

answers = SITE.fetch('questions/{ids}/answers', ids=[59239886],filter='!9YdnSIN*P')
Run Code Online (Sandbox Code Playgroud)

当我将过滤器的值更改为

'!*SU8CGYZitCB.D*(BDVIficKj7nFMLLDij64nVID)N9aK3GmR9kT4IzT*5iO_1y3iZ)6W.G*'
Run Code Online (Sandbox Code Playgroud)

它开始检索答案的文本正文,但丢失了其他重要信息(标签),例如显示与问题相关的答案的“question_id”。检索与问题评论相关的信息也存在同样的问题。

谁能指导我如何在不丢失重要信息的情况下获得答案和评论的正文?

python stackexchange python-3.x stackexchange-api

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

在networkx中更改箭头类型

我在python中使用networkx绘制有向图.然而,我发现边缘的箭头从一端而不是尖箭头是厚的.我想将粗边更改为尖箭头.这是我的代码,实际输出和所需的输出:

import networkx as nx
import matplotlib.pyplot as plt

G=nx.DiGraph()

item = [1,2]

G.add_edge(*item) #color = item[-1], weight = 2)

pos = nx.circular_layout(G)    
nx.draw(G, pos, with_labels = True, edge_color = 'b')   
plt.show()
Run Code Online (Sandbox Code Playgroud)

产量 在此输入图像描述

期望的输出: 在此输入图像描述

任何建议都会有帮助吗?

python draw networkx

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

networkx中的边长

我试图通过以下代码调整两个节点之间的边长.但显然它没有用.任何人都可以指导我在哪里犯错:请注意我已经看过这个帖子(如何在Networkx中指定边长以计算最短距离?)但是没有解决我的问题

import networkx as nx
import matplotlib.pyplot as plt

G=nx.Graph()
G.add_nodes_from([1,2])
G.add_edge(1,2, length = 10)  # I also replaced length with len but no luck
nx.draw(G,with_labels=True)
plt.show() # display
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

基于坐标合并数据框

我有两个数据框,两个数据框都包含经度和纬度列。我想根据经度和纬度列合并这两个数据框。首先,我应用了一个普通merge函数,它生成了空的结果数据框。我调查发现两个数据帧没有相同的经度和纬度列。然后我尝试了另一个名为 的函数merge_asof并将方向设置为nearest,这意味着应该根据经度和纬度最接近的值进行合并。我的代码如下所示:

pd.merge_asof(df1,df2,left_on=['x','y'],right_on=['Long','Lat'],direction='nearest')
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,它抛出一条错误消息:

pd.merge_asof(df1,df2,left_on=['x','y'],right_on=['Long','Lat'],direction='nearest')
Run Code Online (Sandbox Code Playgroud)

当我在 Google 上搜索该消息时,我发现(https://github.com/pandas-dev/pandas/issues/20369)我们无法在merge_asof函数中使用列的组合。我该如何解决这个问题?

python python-3.x pandas

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

Python中graphviz中不同颜色的边

我正在尝试使用 Python 中的 graphviz 绘制具有不同颜色边缘的图形。我正在创建颜色列表并使用边缘颜色。不过,graphviz 似乎不支持。我不知道如何设置不同的边缘颜色。这是我的代码:

import graphviz as gv

d = gv.Digraph()
colors = ['green','red']
d.attr('edge', color = colors)
d.edge('hello','world')
d.edge('world','hello')
d.view()
Run Code Online (Sandbox Code Playgroud)

寻求宝贵意见。谢谢

python graphviz python-2.7 python-3.x

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

在Python中查找graphviz中的边列表

有没有什么方法可以在 python 中获取 graphviz 中的边列表。在我的程序中,我想在有向图中添加边之前检查节点之间是否已经存在边。我在 python 中找不到类似 grahvizget_edge()或grahviz 的任何函数。has_connected()还有其他方法可以完成上述任务吗?任何帮助,将不胜感激。

python graphviz python-2.7 python-3.x

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

Python Azure Databrick:“DataFrame”对象不支持项目分配

我正在研究 Azure Databrick。我在笔记本上运行 python 脚本并从 SQL 获取数据。我尝试将日期时间列拆分为日期和时间列。这是 python 的语法:

    pushdown_query = "(SELECT * FROM STAGE.OutagesAndInterruptions) int_alias"
    df = spark.read.jdbc(url=jdbcUrl, table=pushdown_query, properties=connectionProperties)

    df['INTERRUPTION_DATE']=df['INTERRUPTION_TIME'].dt.date
Run Code Online (Sandbox Code Playgroud)

df['INTERRUPTION_TIME'] 看起来像:

+-------------------+
|  INTERRUPTION_TIME|
+-------------------+
|1997-05-12 09:57:00|
|1998-03-08 13:00:00|
|1998-02-26 13:00:00|
|1998-02-26 13:00:00|
|1998-03-03 10:04:00|
|1998-05-20 09:27:00|
|1998-11-21 08:51:00|
|1998-11-27 08:44:00|
|1998-10-19 01:19:00|
|1998-10-19 01:44:00|
|2000-03-13 07:00:00|
|2000-03-19 07:30:00|
|2000-08-04 12:55:00|
|2002-09-30 18:11:00|
|2002-09-30 18:11:00|
|2002-05-06 09:22:00|
|2002-01-16 13:15:00|
|2003-01-08 15:46:00|
|2003-02-04 10:25:00|
|2003-02-04 10:25:00|
+-------------------+
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,它抛出一条错误消息:

TypeError: 'DataFrame' object does not support item assignment
---------------------------------------------------------------------------
TypeError …
Run Code Online (Sandbox Code Playgroud)

python azure python-3.x azure-databricks

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

Python Seaborn:在 Facetgrid 中绘制多个 distplot

我有一个如下所示的数据框:

df:

RY         MAJ_CAT                  Value
2016    Cause Unknown              0.00227
2016    Vegetation                 0.04217
2016    Vegetation                 0.04393
2016    Vegetation                 0.07878
2016    Defective Equip            0.00137
2018    Cause Unknown              0.00484
2018    Defective Equip            0.01546
2020    Defective Equip            0.05169
2020    Defective Equip            0.00515
2020    Cause Unknown              0.00050
Run Code Online (Sandbox Code Playgroud)

我想绘制给定年份值的分布。所以我使用以下代码使用了 seaborn 的 distplot:

year_2016 = df[df['RY']==2016]
year_2018 = df[df['RY']==2018]
year_2020 = df[df['RY']==2020]
sns.distplot(year_2016['value'].values, hist=False,rug=True)    
sns.distplot(year_2018['value'].values, hist=False,rug=True)   
sns.distplot(year_2020['value'].values, hist=False,rug=True)
Run Code Online (Sandbox Code Playgroud)

在下一步中,我想绘制 MAJ_CAT 给定年份的相同值分布。所以我决定使用seaborn的Facetgrid,下面是代码:

g = sns.FacetGrid(df,col='MAJ_CAT')
g = g.map(sns.distplot,df[df['RY']==2016]['value'].values, hist=False,rug=True))    
g = g.map(sns.distplot,df[df['RY']==2018]['value'].values, hist=False,rug=True))    
g = g.map(sns.distplot,df[df['RY']==2020]['value'].values, hist=False,rug=True))
Run Code Online (Sandbox Code Playgroud)

但是,当它运行上述命令时,它会引发以下错误: …

python python-3.x seaborn facet-grid

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

如何更改分类 x 轴的绘图顺序

我得到了一个如下所示的数据框:

df:

Time of Day Season  value
Day        Shoulder 30.581606
Day        Summer   25.865560
Day        Winter   42.644530
Evening    Shoulder 39.954759
Evening    Summer   32.053458
Evening    Winter   53.678297
Morning    Shoulder 32.171245
Morning    Summer   25.070815
Morning    Winter   42.876667
Night      Shoulder 22.082042
Night      Summer   17.510290
Night      Winter   33.262356
Run Code Online (Sandbox Code Playgroud)

我正在使用 seaborn 使用以下代码绘制线图中的值:

g = sns.lineplot(x='Time of Day',y='value',data=df,hue='Season')
Run Code Online (Sandbox Code Playgroud)

它生成以下图形:

在此处输入图片说明

该图的问题在于 x 轴的顺序不是所需的顺序。我想将 a 轴值的顺序更改为 ['Morning', 'Day','Evening','Night']。我尝试使用以下命令更改它:

g.set_xticklabels(['Morning','Day','Evening','Night'])
Run Code Online (Sandbox Code Playgroud)

但是这个命令只改变x轴的标签,而不是数据点的顺序。有人能帮我解决这个问题吗?

python python-3.x pandas seaborn

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

Python VS代码无法与IPython内核连接

我创建了一个新的虚拟环境并尝试连接 VS 代码。当我在 VS code 中打开包含文件和虚拟环境的文件夹时,在左下角我可以看到选择的 python 解释器,如下图所示:

在此输入图像描述

但是,当我运行该程序时,它显示正在连接到 IPython Kernel 的消息,如下图所示

在此输入图像描述

但是,一段时间后,它会抛出一条错误消息“无法启动内核 python 会话”,如下图所示:

在此输入图像描述

VS code右上角如下图所示:

在此输入图像描述

有人能帮我解决这个问题吗?

python python-3.x visual-studio-code

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