小编ayd*_*dow的帖子

从Dataframe - Pandas中的所有列的列名中删除最后两个字符

我使用用户ID密钥加入具有相同列/列名称的两个数据帧(a,b),并且在加入时,我必须提供后缀字符,以便创建它.以下是我使用的命令,

a.join(b,how='inner', on='userId',lsuffix="_1")
Run Code Online (Sandbox Code Playgroud)

如果我不使用这个后缀,我会收到错误.但我不希望列名更改,因为这会导致运行其他分析时出现问题.所以我想从结果数据帧的所有列名中删除这个"_1"字符.任何人都可以建议我删除Pandas数据帧中所有列的最后两个字符的有效方法吗?

谢谢

python string dataframe pandas

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

Pandas分配Lambda函数

我有一个DataFrame,它有一个开放时间和一个关闭时间,我试图计算差异,以毫秒为单位.

我的代码目前是这样的

df = df.assign(Latency=lambda d: d.CloseTimeStamp - d.CreationTimeStamp)
df.Latency = df.apply(lambda d: d.Latency.total_seconds() * 1000., axis=1)
Run Code Online (Sandbox Code Playgroud)

但是,我想知道为什么我不能像这样的单行

df = df.assign(Latency=lambda d: (d.CloseTimeStamp - d.CreationTimeStamp).total_seconds() * 1000.)
Run Code Online (Sandbox Code Playgroud)

当我尝试后者时,我得到了 AttributeError: 'Series' object has no attribute 'total_seconds'

python lambda dataframe python-datetime pandas

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

SonarQube - 使用通配符忽略所有xml文件

我对SonarQube的通配符使用感到困惑.假设我想忽略所有xml文件.我应该将*.xml放在全局源文件排除项中吗?但是它会忽略不同层中的xml文件,例如/foo/bar/file.xml和/ foo/bar/folder/folder2/xml吗?

sonarqube

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

python的控制流语句的性能

我正在阅读关于循环的Python wiki ,它说

列表推导也在2.0版本中添加到Python中.它们提供了一种语法上更紧凑,更有效的编写上述for循环的方法:

但是,我发现当我测试这个时,我得到了一些意想不到的结果.

In [22]: def while_loop(n):
    ...:     i = 0
    ...:     while i < n:
    ...:         i+=1
    ...:

In [23]: def while_loop_2(n):
    ...:     while n > 0:
    ...:         n-=1
    ...:

In [24]: def for_loop(n):
    ...:     for _ in range(n):
    ...:         pass
    ...:

In [30]: %timeit(for_loop(1000000))
10 loops, best of 3: 23.9 ms per loop

In [31]: %timeit(while_loop(1000000))
10 loops, best of 3: 37.1 ms per loop

In [32]: %timeit(while_loop_2(1000000))
10 loops, best of 3: 38 …
Run Code Online (Sandbox Code Playgroud)

python loops for-loop while-loop

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

在pandas数据框中将索引从一列移动到另一列

DataFrame从一个已经设置为其中一个数据列的索引的库中获取了一个.将它设置为另一列的最简单方法是什么,保留原始索引列.

输入:

df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['a','b','c'])
df = df.set_index('a')

   b  c
a      
1  2  3
4  5  6
7  8  9
Run Code Online (Sandbox Code Playgroud)

输出:( fe从列a到列改变索引b)

   a  c
b      
2  1  3
5  4  6
8  7  9
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas reindex

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

在列表python中删除多余的方括号

我正在使用经度和纬度列表。每个内部列表都有一个额外的对或方括号。例如[[-87.77621462941525,-87.77676645562643,-87.77906119123564,]]。我想删除多余的括号,并保留为[-87.77621462941525,-87.77676645562643,-87.77906119123564,]。谢谢

python list python-3.x

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

使用 python 在 Web 请求中定义超时

这是我的场景。我正在向在某些情况下需要太长时间的网页发出请求。我希望当超过 10 秒没有从服务器发出响应时,请求被取消但没有收到任何错误。这是我当前的代码和我看到的错误。出现此错误时,我的代码结束。总之,我想发出一个 Web 请求并限制在 10 秒内没有答案,我完成请求并继续我的代码。

requests.post("www.webpage.com", headers = {'Content-type': 'application/x-www-form-urlencoded'}, data = {"conid":1,"event":5},timeout=10)
.
.
.
Run Code Online (Sandbox Code Playgroud)

当 10 秒过去时,我收到此错误

ReadTimeout: HTTPConnectionPool(host='www.webpage.com', port=80): Read timed out. (read timeout=10)
Run Code Online (Sandbox Code Playgroud)

出于保密原因,我没有放置真实的 url,但通常没有设置超时,它可以工作

python timeout exception connection-timeout python-requests

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

如何在列表推导中修改Python列表的最后一个元素?

我有一个像下面的代码段,抛出一个无效的语法错误:

lst = [0, 0, 0]
new_lst = [lst[-1] = i + 1 for i in range(3)]
Run Code Online (Sandbox Code Playgroud)

基本上,我想new_lst成为列表列表,其中每个列表都将是lst最后一个元素更改.任何想法如何在Python中执行此操作?

python list

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

Pandas:基于两个列值创建一个新列

学习列比较。如何基于两列创建新列?

我可以做两种情况水果或蔬菜。但是对于第三个条件,做不到。:(

df
    basket1     basket2
0   fruit       fruit
1   vegetable   vegetable 
2   vegetable   both
3   fruit       both
Run Code Online (Sandbox Code Playgroud)

结果

纽迪夫

    basket1    basket2    total
0   fruit      fruit      fruit
1   vegetable  vegetable  vegetable  
2   vegetable  both       Unknown
3   fruit      both      fruit
Run Code Online (Sandbox Code Playgroud)

非常感谢你的帮助!

python dataframe pandas

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

Timeit显示常规python比numpy更快?

我正在为游戏编写一段代码,使用游戏中的坐标位置计算屏幕上所有对象之间的距离.最初我打算使用基本的Python和列表来做到这一点,但由于需要计算的距离数量会随着对象的数量呈指数级增长,我认为这样做可能会更快numpy.

我不是很熟悉numpy,而且我一直在用它来试验基本的代码.我写了一些代码来计算同一个函数numpy在常规Python中完成计算需要多长时间,并且numpy似乎总是花费比常规python更多的时间.

功能很简单.它从1.1开始,然后增加200,000次,将0.1添加到最后一个值,然后找到新值的平方根.这不是我在游戏代码中实际要做的事情,它将涉及从位置坐标中找到总距离矢量; 这只是我拼凑的快速测试.我已经在这里读到,数组的初始化在NumPy中需要更多的时间,所以我将两个numpy和python数组的初始化移到了它们的函数之外,但Python仍然比它更快numpy.

这是一些代码:

#!/usr/bin/python3

import numpy
from timeit import timeit
#from time import process_time as timer
import math

thing = numpy.array([1.1,0.0], dtype='float')
thing2 = [1.1,0.0]

def NPFunc():

    for x in range(1,200000):
        thing[0] += 0.1
        thing[1] = numpy.sqrt(thing[0])


    print(thing)
    return None


def PyFunc():

    for x in range(1,200000):
        thing2[0] += 0.1
        thing2[1] = math.sqrt(thing2[0])

    print(thing2)
    return None


print(timeit(NPFunc, number=1))
print(timeit(PyFunc, number=1))
Run Code Online (Sandbox Code Playgroud)

它给出了这个结果,表明普通Python的速度提高了3倍:

[ 20000.99999999    141.42489173]
0.2917748889885843 …
Run Code Online (Sandbox Code Playgroud)

python performance numpy timeit

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

选择*从CSV文件中选择

我想知道是否有一种简单直观的方法可以做到:

Select * From CSV File Where
Run Code Online (Sandbox Code Playgroud)

我搜索了网络,但是我找不到任何查询CSV文件的SQL类型语法.在R中,我可以这样做:

require(sqldf)
df <- read.csv.sql("C:\\your_path_here\\CSV1.csv", "select * from file where Name='Ryan'")
df
Run Code Online (Sandbox Code Playgroud)

我想知道Python中是否有类似的东西.

python csv python-3.x

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

python:数字列表时对字符串列表进行排序

新手在这里使用python解释器。

为什么我不能对这个字符串列表进行排序?

>>> list = ['296098', '12805', '10445635', '11679960']
>>> print list.sort()
None
>>> print list.sort(key=float)
None
Run Code Online (Sandbox Code Playgroud)

为什么python无法为我排序此字符串列表?

python sorting list

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