小编mgo*_*ser的帖子

在bash中检查当前分区的可用磁盘空间

我正在用bash编写安装程序.用户将转到目标目录并运行安装脚本,因此第一个操作应该是检查是否有足够的空间.我知道df会报告所有文件系统,但我想知道是否有办法获得目标目录所在分区的可用空间.

编辑 - 我想出的答案

df $PWD | awk '/[0-9]%/{print $(NF-2)}'
Run Code Online (Sandbox Code Playgroud)

有点奇怪,因为df似乎将其输出格式化为适合终端,所以使用长安装点名称输出向下移动一行

linux bash

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

在Postgres中将列拆分为多行

假设我有一个这样的表:

    subject     | flag
----------------+------
 this is a test |    2
Run Code Online (Sandbox Code Playgroud)

subject属于类型text,flag属于类型int.我想在Postgres中将此表转换为类似的内容:

    token       | flag
----------------+------
 this           |    2
 is             |    2
 a              |    2
 test           |    2
Run Code Online (Sandbox Code Playgroud)

是否有捷径可寻?

sql postgresql split set-returning-functions

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

Pandas适用但仅适用于满足条件的行

我想使用Pandas df.apply但仅限于某些行

作为一个例子,我想做这样的事情,但我的实际问题有点复杂:

import pandas as pd
import math
z = pd.DataFrame({'a':[4.0,5.0,6.0,7.0,8.0],'b':[6.0,0,5.0,0,1.0]})
z.where(z['b'] != 0, z['a'] / z['b'].apply(lambda l: math.log(l)), 0)
Run Code Online (Sandbox Code Playgroud)

在这个例子中我想要的是'a'中的值除以每行中'b'中值的对数,对于'b'为0的行,我只想返回0.

python pandas

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

SQLAlchemy - 在postgresql中执行批量upsert(如果存在,更新,否则插入)

我正在尝试使用SQLAlchemy模块在python中编写批量upsert(而不是在SQL中!).

我在SQLAlchemy添加上收到以下错误:

sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates unique constraint "posts_pkey"
DETAIL:  Key (id)=(TEST1234) already exists.
Run Code Online (Sandbox Code Playgroud)

我有一个postsid列上使用主键调用的表.

在这个例子中,我已经在db中有一行id=TEST1234.当我尝试db.session.add()使用id设置为的新帖子对象时TEST1234,我得到上面的错误.我的印象是,如果主键已经存在,记录将会更新.

如何仅使用基于主键的Flask-SQLAlchemy进行升级?有简单的解决方案吗?

如果没有,我总是可以检查并删除任何匹配id的记录,然后插入新记录,但这对我的情况来说似乎很昂贵,我不希望有很多更新.

python postgresql sqlalchemy flask-sqlalchemy

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

将pyspark中的Python模块传送到其他节点

如何将C编译模块(例如,python-Levenshtein)发送到Spark集群中的每个节点?

我知道我可以使用独立的Python脚本在Spark中发布Python文件(下面的示例代码):

from pyspark import SparkContext
sc = SparkContext("local", "App Name", pyFiles=['MyFile.py', 'MyOtherFile.py'])
Run Code Online (Sandbox Code Playgroud)

但是在没有".py"的情况下,我该如何运送模块?

python apache-spark

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

使用非sql排名在SQL-alchemy中进行排序和分页

我有一个python算法,它返回给定用户的数据库行的排名顺序.此算法输出主键ID列表(这些键可以与post.id连接).它看起来像下面,除了可能有数千个匹配:

result_rank = [1286, 1956, 6759, 3485, 2309, 3409, 9023, 912, 13098, 23489, 19023, 1239]
Run Code Online (Sandbox Code Playgroud)

我想指示sqlalchemy选择这些行,并按照它们在列表中的排序顺序排序.问题是,我想对此进行分页

results = posts.query().filter(posts.id.in_(
    resultIds)).order_by(??? how can I order by post.id = result_rank ???).paginate(page_num, posts_per_page)
Run Code Online (Sandbox Code Playgroud)

我使用Postgresql作为数据库.

python pagination sqlalchemy flask flask-sqlalchemy

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

从列表的RDD创建Spark DataFrame

我有一个rdd(我们可以称之为myrdd),其中rdd中的每个记录都是以下形式:

[('column 1',value), ('column 2',value), ('column 3',value), ... , ('column 100',value)]
Run Code Online (Sandbox Code Playgroud)

我想将它转换为pyspark中的DataFrame - 最简单的方法是什么?

dataframe apache-spark pyspark

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

如何检查你是否在Jupyter笔记本电脑中

我正在创建一个python模块,其中包含一个显示pandas DataFrame(my_df)的函数.

如果用户将模块导入Jupyter笔记本,我想通过使用以下内容为DataFrame提供"漂亮"的格式:

from IPython.display import display, HTML
display(my_df)
Run Code Online (Sandbox Code Playgroud)

如果用户不在Jupyter笔记本中,我想显示DataFrame的文本格式:

print(my_df)
Run Code Online (Sandbox Code Playgroud)

如何检查代码是否从Jupyter笔记本运行?或者,如何从命令行以文本形式显示DataFrame,如果将HTML表单导入Jupyter笔记本,则显示HTML表单?

from IPython.display import display, HTML

def my_func(my_df):
    if [... code to check for Jupyter notebook here ...]:
        display(my_df)
    else:
        print(my_df)
Run Code Online (Sandbox Code Playgroud)

python pandas jupyter jupyter-notebook

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

使用pyspark/spark对大型分布式数据集进行采样

我在hdfs中有一个文件,它分布在集群中的节点上.

我正试图从这个文件中随机抽取10行.

在pyspark shell中,我使用以下命令将文件读入RDD:

>>> textFile = sc.textFile("/user/data/myfiles/*")
Run Code Online (Sandbox Code Playgroud)

然后我想简单地拿一个样本......关于Spark的一个很酷的事情是有类似的命令takeSample,不幸的是我认为我做错了,因为以下需要很长时间:

>>> textFile.takeSample(False, 10, 12345)
Run Code Online (Sandbox Code Playgroud)

所以我尝试在每个节点上创建一个分区,然后使用以下命令指示每个节点对该分区进行采样:

>>> textFile.partitionBy(4).mapPartitions(lambda blockOfLines: blockOfLines.takeSample(False, 10, 1234)).first()
Run Code Online (Sandbox Code Playgroud)

但这会给出一个错误ValueError: too many values to unpack:

org.apache.spark.api.python.PythonException: Traceback (most recent call last):
  File "/opt/cloudera/parcels/CDH-5.0.2-1.cdh5.0.2.p0.13/lib/spark/python/pyspark/worker.py", line 77, in main
    serializer.dump_stream(func(split_index, iterator), outfile)
  File "/opt/cloudera/parcels/CDH-5.0.2-1.cdh5.0.2.p0.13/lib/spark/python/pyspark/serializers.py", line 117, in dump_stream
    for obj in iterator:
  File "/opt/cloudera/parcels/CDH-5.0.2-1.cdh5.0.2.p0.13/lib/spark/python/pyspark/rdd.py", line 821, in add_shuffle_key
    for (k, v) in iterator:
ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)

如何使用spark或pyspark从大型分布式数据集中采样10行?

hadoop apache-spark

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

在scikit中结合随机森林模型学习

我有两个RandomForestClassifier模型,我想将它们组合成一个元模型.他们都使用类似但不同的数据进行培训.我怎样才能做到这一点?

rf1 #this is my first fitted RandomForestClassifier object, with 250 trees
rf2 #this is my second fitted RandomForestClassifier object, also with 250 trees
Run Code Online (Sandbox Code Playgroud)

我想创建big_rf所有树木组合成一个500树模型

python classification python-2.7 random-forest scikit-learn

13
推荐指数
2
解决办法
6504
查看次数