小编Jak*_*kul的帖子

如何检查python模块的版本?

我刚安装的Python模块:constructstatlibsetuptools这样的:

# Install setuptools to be able to download the following
sudo apt-get install python-setuptools

# Install statlib for lightweight statistical tools
sudo easy_install statlib

# Install construct for packing/unpacking binary data
sudo easy_install construct
Run Code Online (Sandbox Code Playgroud)

我希望能够(以编程方式)检查他们的版本.是否python --version可以从命令行运行?

我的python版本是2.7.3.

python

585
推荐指数
20
解决办法
80万
查看次数

Pandas DataFrame:根据条件替换列中的所有值

我有一个简单的DataFrame,如下所示:

熊猫DataFrame

我想从"第一季"列中选择所有值,并将那些超过1990年的值替换为1.在此示例中,只有Baltimore Ravens将1996年替换为1(保持其余数据完好无损).

我使用了以下内容:

df.loc[(df['First Season'] > 1990)] = 1
Run Code Online (Sandbox Code Playgroud)

但是,它将该行中的所有值替换为1,而不仅仅是"第一季"列中的值.

如何只替换该列中的值?

python dataframe pandas

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

如何使用Python并排绘制两个图

我在matplotlib上找到了以下示例

import numpy as np
import matplotlib.pyplot as plt


x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)

y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)

plt.subplot(2, 1, 1)
plt.plot(x1, y1, 'ko-')
plt.title('A tale of 2 subplots')
plt.ylabel('Damped oscillation')


plt.subplot(2, 1, 2)
plt.plot(x2, y2, 'r.-')
plt.xlabel('time (s)')
plt.ylabel('Undamped')

plt.show()
Run Code Online (Sandbox Code Playgroud)

我的问题是:我需要改变什么,让这些情节并排?

python matplotlib

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

AngularJS - 刷新ng-repeat

我正在使用ng-repeat来显示一组值.我的过滤器选项根据对服务器的ajax调用而更改.如何在收到过滤器参数后刷新ng-repeat?

小提琴

模板

<div>
<div data-ng-controller="myCtrl">
    <ul>
        <li data-ng-repeat="item in values | filter:filterIds()"> 
            <code>#{{item.id}}</code> Item
        </li>
    </ul>
   </div>
 </div> 
<button ng-click="loadNewFilter()"> filter now</button>
Run Code Online (Sandbox Code Playgroud)

var app = angular.module('m', []);

app.controller('myCtrl', function ($scope) {
  $scope.values = [
   {id: 1},
   {id: 2},
   {id: 3},
   {id: 4},
   {id: 5},
   {id: 6}
  ];

  $scope.filter = [1,2,3,4,5,6];

  $scope.filterIds = function (ids) {
        return function (item) {
            var filter = $scope.filter;
            return filter.indexOf(item.id) !== -1;          
        }
  }

  $scope.loadNewFilter = function (){
    $scope.filter = [1,2,3];      
   }
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

从云调度程序调用 Google 云函数时出现权限被拒绝错误

我正在尝试调用 Google 云函数,该函数是由云调度程序触发的 Http。但每当我尝试运行云调度程序时,它总是显示权限被拒绝错误

 httpRequest: {
  status: 403   
 }
 insertId: "14igacagbanzk3b"  
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"   
  jobName: "projects/***********/locations/europe-west1/jobs/twilio-cloud-scheduler"   
  status: "PERMISSION_DENIED"   
  targetType: "HTTP"   
  url: "https://europe-west1-********.cloudfunctions.net/function-2"   
 }
 logName: "projects/*******/logs/cloudscheduler.googleapis.com%2Fexecutions"  
 receiveTimestamp: "2020-09-20T15:11:13.240092790Z"  
 resource: {
  labels: {
   job_id: "***********"    
   location: "europe-west1"    
   project_id: "**********"    
  }
  type: "cloud_scheduler_job"   
 }
 severity: "ERROR"  
 timestamp: "2020-09-20T15:11:13.240092790Z"  
}
Run Code Online (Sandbox Code Playgroud)

我尝试过的解决方案 -

  1. 按照一些用户的建议,尝试将 Google 云功能与 App 引擎放在同一区域。
  2. 授予访问 Google 提供的云调度程序 sa服务的权限- **** @gcp-sa-cloudscheduler.iamaccount.gserviceaccount.com所有者角色和 Cloud Functions 管理员角色
  3. 我的云功能的入口设置为允许所有流量。

我的云调度程序仅在我运行以下命令时才起作用

gcloud 函数 add-iam-policy-binding 云函数 --member="allUsers" --role="roles/cloudfunctions.invoker"

google-cloud-platform google-cloud-functions google-cloud-scheduler

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

在java协议缓冲区中导入"google/protobuf/descriptor.proto"

我有一个.proto需要导入的文件定义,"google/protobuf/descriptor.proto"因为我使用自定义选项.

所以在我的.proto文件中我做了:

import "google/protobuf/descriptor.proto";
package ...;

...
Run Code Online (Sandbox Code Playgroud)

由于我的文件没有编译抱怨依赖项,我得到了一个descriptor.proto文件的副本,将它放在我的proto文件所在的目录中.

这解决了问题,但我不相信这是正确的方法.现在将descriptor.protogets与我的.proto文件一起编译descriptor.proto,导致在运行时编译2 :

  • protobuf-java-2.5.0.jar文件一起提供的那个
  • 与我的.proto文件一起编译的那个

我认为--proto-path应该以某种方式使用该选项,但不完全确定什么是正确的方法.

感谢这里的最佳实践提示!

java protocol-buffers

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

Hugo:如何将图像存储在与帖子相同的目录中?

为了拥有更清晰的布局,我希望我的每个帖子以及所有必需的资源(例如图像等)都驻留在自己的目录中。Hugo 或任何类似的工具可以实现这一点吗?如果是这样,怎么办?

问题是每个帖子旁边的文件不会被复制到与相应帖子的 html 文件相同的 www 导出目录中(或者,使用正确的最终位置重建的图像 URL)。

markdown hugo yaml-front-matter

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

将bigquery数据导出到云存储,整数字段更改为字符串格式,但浮点格式保持数字格式

我有这些 bigquery 字段

views   INTEGER NULLABLE    
comments    INTEGER NULLABLE    
shares  INTEGER NULLABLE    
watch_time_minutes  FLOAT   NULLABLE    
Run Code Online (Sandbox Code Playgroud)

观看次数 评论 分享 watch_time_minutes 0 0 1 0.0

我通过BigQuery控制台页面(简称“导出表”)将此bigquery数据导出到云存储(json格式),我得到的是

{"views":"0","comments":"0","shares":"1","watch_time_minutes":0}
Run Code Online (Sandbox Code Playgroud)

请注意,在此 json 记录中,整数字段更改为字符串值,"views":"0","comments":"0","shares":"1"

但浮点字段保持数字格式“watch_time_months”:0

Json 中的整数字段应保持数字格式,如下所示

"views":0,"comments":0,"shares":1
Run Code Online (Sandbox Code Playgroud)

否则,在接下来的过程中,当我对这些应该是整数字段(但不显示为 json 中的字符串)进行数学运算时,我会遇到问题。

有什么建议吗?

现在,我的一个解决方案是循环访问(数百万行)存储文件并将所有整数字段转换回整数。但它击败了“只需通过一条语句将bigquery表导出到存储”的性能优势。

我有另一个丑陋的解决方案,即“将整数字段重新定义为浮点数”,但这真的很丑陋,并且稍后会导致其他问题。例如我无法将浏览次数显示为 0.0 次。ETC。

谢谢!

google-cloud-storage google-bigquery

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