小编U10*_*ard的帖子

将列表从一个索引排序到另一个索引 - python

假设我有一个列表[2, 4, 1, 3, 5]

我想将列表从索引 1 排序到末尾,这给了我 [2, 1, 3, 4, 5]

我怎么能用python3做到这一点?

(没有额外的空间将不胜感激)

编辑:

我已将切片声明为已接受的答案。Python 仅复制对象引用,因此与真正的就地排序相比,速度损失不会那么大。但是如果你需要一个非常严格的解决方案,你可以参考@Heap Overflow 上我最喜欢的答案之一

>>> tmp = l[0]
>>> l[0] = float('-inf')
>>> l.sort()
>>> l[0] = tmp
>>> l
[2, 1, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

python sorting

18
推荐指数
3
解决办法
1283
查看次数

如何在 glob() 模式中编写“或”?

glob.glob()不使用正则表达式。它使用 Unix 路径扩展规则。我如何在 glob 中模拟这个正则表达式:

".*.jpg|.*.png"
Run Code Online (Sandbox Code Playgroud)

python glob

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

什么时候适合使用df.value_counts()vs df.groupby('...').count()?

我听说熊猫经常有多种方法可以做同样的事情,但我想知道 -

如果我尝试按特定列中的值对数据进行分组并计算具有该值的项目数,则何时使用df.groupby('colA').count()以及何时使用有意义df['colA'].value_counts()

python dataframe pandas pandas-groupby

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

计算列表中50或更大的所有数字的平均值?

我想返回一个函数,它给出所有50或更多标记的平均值.当我运行我的代码时,它总是返回一个空列表.这是我尝试过的:

def get_pass_average(marks):
    average = []
    for count in marks:
        if count >= 50:
           average = sum(count) / len(count)          
    return round(average,2)

def test_get_pass_average():
    list1 = [50, 83, 26, 65, 92, 29, 77, 64]
    print('%.2f' % (get_pass_average(list1)))
Run Code Online (Sandbox Code Playgroud)

请帮我弄清楚代码中的问题,输出应该是71.83.

python

14
推荐指数
3
解决办法
2407
查看次数

从JPEG或png文件获取绘图数据

我正在编写一个从图形(JPEG)中获取绘图数据的程序.垂直轴是对数的.我成功地制作了一个程序,将水平和垂直轴理解为线性(不是对数),请参阅下面的代码:

在此输入图像描述

%matplotlib inline

from PIL import Image
from scipy import *
from pylab import *

im = array(Image.open('fig1.jpg'))

hh = im.shape[0]
ww = im.shape[2]

imshow(im)    
print(im[100,0,:])

Col = array([255,0,0])#?
bnd = 30

yax = linspace(0.5,2e-4,hh)
xax = linspace(1,14,ww)

for i in range(hh):
    for j in range(ww):
        im[i,j,:] = 255*(any(im[i,j,:]>Col+bnd) or any(im[i,j,:]<Col-bnd))

mapim = abs(im[:,:,0]/255-1).astype(bool)

yval = array([average(yax[mapim[:,t]]) for t in range(ww)])

rlt = interp(range(100),xax,yval)
Run Code Online (Sandbox Code Playgroud)

我不知道如何修改它以使其理解对数轴.请帮我.

python matplotlib scipy python-imaging-library jupyter-notebook

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

将包含列表项的dict扩展为dict对列表

如果我有一个字典,其中包含一个或多个值中的列表:

data = {
  'a':0,
  'b':1,
  'c':[0, 1, 2],
  'pair':['one','two']
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到一个dict元组列表,pair并且迭代结束c,其他所有元素保持不变?例如

output = [
    ({
        'a':0,
        'b':1,
        'c':0,
        'pair':'one'
    },
    {
        'a':0,
        'b':1,
        'c':0,
        'pair':'two'
    }),
    ({
        'a':0,
        'b':1,
        'c':1,
        'pair':'one'
    },
    ...
]
Run Code Online (Sandbox Code Playgroud)

python dictionary list-comprehension python-2.7 dictionary-comprehension

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

复制Pandas中的行

我的pandas数据框看起来像这样:

   Person  ID   ZipCode   Gender
0  12345   882  38182     Female
1  32917   271  88172     Male
2  18273   552  90291     Female
Run Code Online (Sandbox Code Playgroud)

我想复制每一行3次,如:

   Person  ID   ZipCode   Gender
0  12345   882  38182     Female
0  12345   882  38182     Female
0  12345   882  38182     Female
1  32917   271  88172     Male
1  32917   271  88172     Male
1  32917   271  88172     Male
2  18273   552  90291     Female
2  18273   552  90291     Female
2  18273   552  90291     Female
Run Code Online (Sandbox Code Playgroud)

当然,重置索引所以它是:

0
1
2
Run Code Online (Sandbox Code Playgroud)

我尝试过如下解决方案:

pd.concat([df[:5]]*3, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

和:

df.reindex(np.repeat(df.index.values, df['ID']), …
Run Code Online (Sandbox Code Playgroud)

python dataset dataframe pandas

11
推荐指数
4
解决办法
8734
查看次数

使用和随机化代理

我只是想知道如何为每个请求设置一个特定的代理?!

以下块引用是文档中关于此的唯一内容.此外,文档仅提供Java的示例...

Firefox版本48及更新版本 - GeckoDriver
Firefox在配置文件中维护其代理配置.您可以在配置文件中预设代理并使用该Firefox配置文件,也可以在动态创建的配置文件中进行设置,如以下示例所示.使用GeckoDriver,代理必须通过所需的功能.

任何意见,将不胜感激!

python random selenium proxies selenium-webdriver

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

将列表列表转换为元组列表的列表

我有一个清单列表包括:

> [['Di/in/QUE', 'mana/wh/QUE', 'lokasi/nn/INTENT', 'laboratorium/nnp/LOC', 'dasar/nnp/LOC', '?/?/O'], ['Di/in/QUE', 'mana/wh/QUE', 'lokasi/nn/INTENT', 'laboratorium/nnp/LOC', 'dasar/nnp/LOC', '2/nnp/LOC', '?/?/O'], ['Di/in/QUE', 'mana/wh/QUE', 'lokasi/nn/INTENT', 'laboratorium/nnp/LOC', 'lanjut/nnp/LOC', '?/?/O']]
Run Code Online (Sandbox Code Playgroud)

我想将其转换为元组列表的列表,如下所示:

> [[('Di','in','QUE'), ('mana','wh','QUE'), ('lokasi','nn','INTENT'), ('laboratorium','nnp','LOC'), ('dasar','nnp','LOC'), ('?','?','O')], [('Di','in','QUE'), ('mana','wh','QUE'), ('lokasi','nn','INTENT'), ('laboratorium','nnp','LOC'), ('dasar','nnp','LOC'), ('2','nnp','LOC'), ('?','?','O')], [('Di','in','QUE'), ('mana','wh','QUE'), ('lokasi','nn','INTENT'), ('laboratorium','nnp','LOC'), ('lanjut','nnp','LOC'), ('?','?','O')]]
Run Code Online (Sandbox Code Playgroud)

我从文本文件中读取数据,所以这是我的代码:

with open("corpusposner.txt", "r") as f: 
    vallist = [line.split() for line in f]
f.close()
standard_form_tokens = []
for sentence in vallist:
    for satupsg in sentence:
        anotasi = satupsg.split('/')
        kata, tag, ner = anotasi[0], anotasi[1], anotasi[2]

        standard_form_tokens.append((kata, tag.lower(), ner)) …
Run Code Online (Sandbox Code Playgroud)

python nested list nested-lists python-3.x

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

SQLAlchemy 批量创建如果不存在

我试图通过减少对数据库的调用来优化我的代码。我有以下型号:

class PageCategory(Base):    
    category_id = Column(Text, ForeignKey('category.category_id'), primary_key=True)
    page_id = Column(Text, ForeignKey('page.page_id'), primary_key=True)


class Category(Base):
    category_id = Column(Text, primary_key=True)
    name = Column(Text, nullable=False)
    pages = relationship('Page', secondary='page_category')


class Page(Base):
    page_id = Column(Text, primary_key=True)
    name = Column(Text, nullable=False)
    categories = relationship('Category', secondary='page_category')
Run Code Online (Sandbox Code Playgroud)

该代码接收 Facebook 点赞流,每个点赞都带有一个PageaCategory以及它们之间的明显关系 a PageCategory。我需要找到一种方法来批量创建(如果尚不存在)不同的页面、类别以及它们之间的关系。鉴于代码需要很快,我无法在创建每个对象时来回访问数据库。

page = Page(page_id='1', name='1')
category = Category(category_id='2', name='2')
session.add(page)
session.add(category)
session.commit()
...same for PageCategory
Run Code Online (Sandbox Code Playgroud)

现在,鉴于 apage_idcategory_idPK,IntegrityError如果我们尝试插入重复项,数据库将引发 a ,但这仍然是往返舞蹈。我需要一个实用程序来接收,比如一个对象列表,session.bulk_save_objects([page1, page2, category1, category2, page_category1, …

python sqlalchemy bulk

7
推荐指数
0
解决办法
412
查看次数