Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

2
dtypes在第一个轴上移动时会变乱(列)
考虑数据框 df df = pd.DataFrame(dict(A=[1, 2], B=['X', 'Y'])) df A B 0 1 X 1 2 Y 如果我前进axis=0(默认) df.shift() A B 0 NaN NaN 1 1.0 X 它按预期将所有行向下推一行。 但是当我前进时 axis=1 df.shift(axis=1) A B 0 NaN NaN 1 NaN NaN 一切都为零 A B 0 NaN 1 1 NaN 2 我知道为什么会这样。对于axis=0,Pandas逐列进行操作,其中每一列都是单个的,dtype并且在移动时,对于如何NaN在开始或结束时处理引入的值有明确的协议。但是,当axis=1我们继续前进时,我们会引入dtype从一列到另一列的潜在歧义。在这种情况下,我尝试将力int64插入object列中,而Pandas决定只将这些值设为空。 当dtypesare …
9 python  pandas 

1
如何使用函数式编程在python中创建通用方法?
我想改进这段代码的编写方式。现在,我有六种方法几乎都是复制粘贴的,只有一行正在更改。如何制作通用方法,并根据数据输入的属性更改计算?我当时在考虑使用函数式编程来实现这一目标,但是我不确定如何正确地做到这一点。 该方法正在获取dict对象。然后将此对象转换为JSON。该mid变量存储的JSON具有来自外部API的中值货币,必须在for循环之前,否则该API将在每次迭代中调用,这会大大减慢该过程!然后在for循环中,我遍历输入中的数据。方法之间的唯一区别是将其插入列表之前的计算。.append(mid_current - bankMSell) def margin_to_exchange_rate_sell(data): j = data.to_JSON() list_p = [] mid = midrate.get_midrate(j["fromCurrency"][0]) for idx, val in enumerate(j['toCurrency']): try: mid_current = 1/get_key(mid, j['toCurrency'][idx]) bankMSell = float(j['sellMargin'][idx]) list_p.append(mid_current - bankMSell) except Exception as e: list_p.append(0) print(str(e)) return list_p 另一方法: def margin_to_exchange_rate_buy(data): j = data.to_JSON() list_p = [] mid = …



2
为什么pylint为numpy.ndarray.shape返回`unsubscriptable-object`?
我只整理了以下“最小”复制案例(最小引号,因为我想确保pylint没有抛出其他错误,警告,提示或建议-这意味着有些重复): pylint_error.py: """ Docstring """ import numpy as np def main(): """ Main entrypoint """ test = np.array([1]) print(test.shape[0]) if __name__ == "__main__": main() 当我pylint在此代码(pylint pylint_error.py)上运行时,得到以下输出: $> pylint pylint_error.py ************* Module pylint_error pylint_error.py:13:10: E1136: Value 'test.shape' is unsubscriptable (unsubscriptable-object) ------------------------------------------------------------------ Your code has been rated at 1.67/10 (previous run: 1.67/10, …
9 python  numpy  pylint 

2
Python通过win32com运行MessageQueue.Peek,如何正确设置超时时间?
首先,我想说如果有人可以在这里提供帮助,您真是不可思议。 一般问题 我的Python程序需要与MSMQ进行交互。基本上,我想窥视一个队列,如果队列中没有任何内容,则指定一个超时。 但是,尽管我已尽力而为,但当队列中先前没有任何值时,我无法让Peek()等待超时间隔。 您能否指出此代码中缺少的内容? 我当前的代码 现在是我的代码: from socket import gethostname import win32com.client import pythoncom import clr clr.AddReference("System") clr.AddReference("System.Messaging") from System import TimeSpan from System.Messaging import MessageQueue # Source: [1] # [1] https://docs.microsoft.com/en-us/previous-versions/windows/desktop/msmq/ms707027%28v%3dvs.85%29 MQ_DENY_NONE = 0x0 MQ_PEEK_ACCESS = 0x1 MQ_SEND_ACCESS = 0x2 # Set up queue pythoncom.CoInitialize() qinfo = win32com.client.Dispatch("MSMQ.MSMQQueueInfo") …

3
standard_init_linux.go:211:exec用户进程导致“ exec格式错误”
我正在构建用于python脚本的Dockerfile,它将在下面的minikube Windows 10系统中运行 使用以下命令构建docker docker build -t python-helloworld . 并将其加载到minikube docker demon中 docker save python-helloworld | (eval $(minikube docker-env) && docker load) Docker文件 FROM python:3.7-alpine #add user group and ass user to that group RUN addgroup -S appgroup && adduser -S appuser -G appgroup #creates work dir WORKDIR /app #copy …



2
无法解析用户名以确保我已登录网站
我已经用python编写了一个脚本来登录网站并解析用户名,以确保我确实能够登录。使用下面尝试的方法似乎可以使我到达那里。但是,我使用了脚本中chrome开发工具中的硬编码cookie来获得成功。 我尝试过: import requests from bs4 import BeautifulSoup url = 'https://secure.imdb.com/ap/signin?openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.imdb.com%2Fap-signin-handler&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=imdb_pro_us&openid.mode=checkid_setup&siteState=eyJvcGVuaWQuYXNzb2NfaGFuZGxlIjoiaW1kYl9wcm9fdXMiLCJyZWRpcmVjdFRvIjoiaHR0cHM6Ly9wcm8uaW1kYi5jb20vIn0&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0' signin = 'https://secure.imdb.com/ap/signin' mainurl = 'https://pro.imdb.com/' with requests.Session() as s: res = s.get(url,headers={"User-agent":"Mozilla/5.0"}) soup = BeautifulSoup(res.text,"lxml") payload = {i['name']: i.get('value', '') for i in soup.select('input[name]')} payload['email'] = 'some username' payload['password'] = 'some password' s.post(signin,data=payload,headers={ "User-agent":"Mozilla/5.0", "Cookie": 'adblk=adblk_yes; ubid-main=130-2884709-6520735; _msuuid_518k2z41603=95C56F3B-E3C1-40E5-A47B-C4F7BAF2FF5D; …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.