小编iNo*_*oob的帖子

子进程调用是否并行完成?

我一直在谷歌搜索这个问题的简单答案,但似乎没有一个.任何人都可以告诉我subprocess模块是否并行执行调用?Pythong.org文档建议它可以用来产生新的进程,但它没有提到它们是否并行.如果他们可以并行完成,你可以给我一个例子或链接我吗?

python parallel-processing

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

使用包含空格的列名称或使用包含空格的列名称的drop方法查询Pandas DataFrame

我希望使用pandas基于列名称(包含空格)和单元格值删除行.我已经尝试了各种方法来实现这一点(drop和query方法),但由于名称中的空格,我似乎失败了.有没有办法使用其中有空格的名称查询数据,或者我是否需要先清理所有空格?

数据以csv文件的形式

Date,"price","Sale Item"
2012-06-11,1600.20,item1
2012-06-12,1610.02,item2
2012-06-13,1618.07,item3
2012-06-14,1624.40,item4
2012-06-15,1626.15,item5
2012-06-16,1626.15,item6
2012-06-17,1626.15,item7
Run Code Online (Sandbox Code Playgroud)

尝试例子

df.drop(['Sale Item'] != 'Item1')
df.drop('Sale Item' != 'Item1')
df.drop("'Sale Item'] != 'Item1'")

df.query('Sale Item' != 'Item1')
df.query(['Sale Item'] != 'Item1')
df.query("'Sale Item'] != 'Item1'")
Run Code Online (Sandbox Code Playgroud)

大多数情况下收到错误

ImportError: 'numexpr' not found. Cannot use engine='numexpr' for query/eval if 'numexpr' is not installed
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何在pandas中使用基于DataFrame布尔值的条件语句

现在我知道如何检查数据帧中多列的特定值.但是,我似乎无法弄清楚如何基于布尔响应执行if语句.

例如:

使用os.walk特定文件并将特定文件读入数据帧.

for root, dirs, files in os.walk(main):
        filters = '*specificfile.csv'
        for filename in fnmatch.filter(files, filters):
        df = pd.read_csv(os.path.join(root, filename),error_bad_lines=False)
Run Code Online (Sandbox Code Playgroud)

现在检查跨多个列的数据帧.第一个值是列名(column1),下一个值是我在该列(香蕉)中查找的特定值.然后我检查另一列(column2)的特定值(绿色).如果这两个都是真的,我想执行一项特定的任务.但是如果它是假的我想做别的事情.

像这样的东西:

if (df['column1']=='banana') & (df['colour']=='green'):
    do something
else: 
    do something
Run Code Online (Sandbox Code Playgroud)

python pandas

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

递归地将子文件夹中的文件读取到列表中,并将每个子文件夹的文件合并为每个子文件夹的一个 csv

我正在尝试解决如何使用pandas递归导航文件夹子文件夹,获取子文件夹中的每个文件并将其合并为每个子文件夹的一个 CSV 文件。

所以我在类似于下面的结构中有多个文件。我想获取每个子文件夹并将其各自的 CSV 合并到每个子文件夹中的一个文件中。请参阅第二个图示文件夹树。我pandas以前没有使用过,但我认为我在正确的轨道上,我正在努力为每个子文件夹制定逻辑。请参考下面我当前的代码。

*注意,每个 CSV 文件的列结构都相同。

合并前

Folder
      Sub-Folder1
               File1.csv
               File2.csv
               File3.csv
               File4.csv
      Sub-Folder2
               File1.csv
               File2.csv
      Sub-Folder3
               File1.csv
               File2.csv
Run Code Online (Sandbox Code Playgroud)

合并后

Folder
      Sub-Folder1
               Final.csv
      Sub-Folder2
               Final.csv
      Sub-Folder3
               Final.csv
Run Code Online (Sandbox Code Playgroud)

当前代码

import pandas as pd

working_dir = "/dir/"

for root, dirs, files in os.walk(working_dir):
    file_list = []
    for filename in files:
        file_list.append(root + "/" + filename) 
    df_list = [pd.read_table(file) for file in file_list]
    final_df = pd.concat(df_list) 
    final_df.to_csv(root + "/" + "Final.csv")
Run Code Online (Sandbox Code Playgroud)

目前收到以下错误

ValueError: All objects passed …

python csv pandas

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

Python使用不打印

我正在创建我的第一个python"应用程序",我有args或缺乏问题.如果我执行没有参数的脚本id期望一条消息说明使用情况,而是我得到以下错误

错误

unknown@ubuntu:~$ ./attack.py
Traceback (most recent call last):
File "./attack.py", line 60, in <module>
main(sys.argv[1:])
File "./attack.py", line 57, in main
print fread(FWORD)
File "./attack.py", line 19, in fread
flist = open(FWORD).readlines()
TypeError: coercing to Unicode: need string or buffer, NoneType found
Run Code Online (Sandbox Code Playgroud)

#!/usr/bin/python


import sys, getopt, socket, fileinput, traceback
from Queue import Queue
from threading import Thread


def usage():
    print "-h --help: help\n"
    print "-f --file: File to read potential Sub-domains from.\n"
    print "-p --PROXY: PROXY address and …
Run Code Online (Sandbox Code Playgroud)

python

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

在 f.read 上过滤多个字符串

我一直在尝试各种方法来过滤f.read(). 除了多个单独的循环之外,我似乎找不到一个能按我的预期工作的解决方案,但我拒绝相信没有更优雅的解决方案。

我正在尝试做类似的事情:

if 'string' or 'string2' or 'string3' in f.read():
Run Code Online (Sandbox Code Playgroud)

我尝试了一些变化,例如:

if ('string1', 'string2','string3') in f.read():

if f.read() ('string1', 'string2','string3'):
Run Code Online (Sandbox Code Playgroud)

当然,我还没有找到一种按照我期望的方式工作的方法,并且由于谷歌和文档都未能做到这一点,有人可以启发我吗?

经过 Kasramvd 的启发,下面的展示既优雅又实用。特别注意结局线。

check_list = ['string1', 'string2', 'string3']
for filename in files:
     f = open(root + filename)
     fi = f.read()
     if any(i in fi for i in check_list):
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

Python列表将字符串连接到新列表中

我正在寻找获取搅拌列表的最佳方法,生成一个新列表,其中包含上一个列表中与特定字符串连接的每个项目.

示例sudo代码

list1 = ['Item1','Item2','Item3','Item4']
string = '-example'
NewList = ['Item1-example','Item2-example','Item3-example','Item4-example']
Run Code Online (Sandbox Code Playgroud)

尝试

NewList = (string.join(list1))
#This of course makes one big string
Run Code Online (Sandbox Code Playgroud)

python

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

删除换行符不起作用

我试图\n从函数中创建的列表中删除.我删除它的代码似乎没有用.我也没有得到错误?

#!/usr/bin/python

"""
Description:

Basic Domain bruteforcer

Usage:
  your_script.py (-f <file>) (-d <domain>) [-t 10] [-v]
  your_script.py -h | --help

Arguments:
  -f --file File to read potential Sub-domains from. (Required)
  -d --domain Domain to bruteforce. (Required)
Options:
  -h --help     Show this screen.
  -p --proxy    Proxy address and port. [default: http://127.0.0.1:8080] (Optional)
  -t --thread   Thread count. (Optional)
  -v --verbose  Turn debug on. (Optional)
"""
from docopt import docopt


def fread(dwords, *args):
        flist = open(dwords).readlines()
        #print current list
        print …
Run Code Online (Sandbox Code Playgroud)

python

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

正则表达式是最好的方法吗?

我希望匹配列表中的项目并将该项目放入变量.下面是我到目前为止所做的,但目前我不知道如何创建正则表达式我需要匹配只有1项,我不知道这是否是最好的方法.我试图将列表中的项目与"/ site-packages"匹配到最后.

测试数据(站点输出)

['/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/site-python', '/Library/Python/2.7/site-packages']
Run Code Online (Sandbox Code Playgroud)

import site
import re
sites = site.getsitepackages()
print sites
site = re.compile('*/site-packages')

for item in sites:
    m = site.search(item)
    if m:
        print m
Run Code Online (Sandbox Code Playgroud)

python regex

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

标签 统计

python ×9

pandas ×3

csv ×1

parallel-processing ×1

python-2.7 ×1

regex ×1