小编Mic*_*ael的帖子

应用具有多个参数的函数来创建新的pandas列

我想pandas通过将函数应用于两个现有列来在数据框中创建新列.根据这个答案,当我只需要一列作为参数时,我就能够创建一个新列:

import pandas as pd
df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})

def fx(x):
    return x * x

print(df)
df['newcolumn'] = df.A.apply(fx)
print(df)
Run Code Online (Sandbox Code Playgroud)

但是,当函数需要多个参数时,我无法弄清楚如何做同样的事情.例如,如何通过将列A和列B传递给下面的函数来创建新列?

def fxy(x, y):
    return x * y
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何确定Pandas列是否包含特定值

我试图确定Pandas列中是否有一个具有特定值的条目.我试着这样做if x in df['id'].我认为这是有效的,除非我给它一个值,我知道它不在列中,43 in df['id']它仍然返回True.当我对仅包含与缺少的id匹配的条目的数据框进行子集化时df[df['id'] == 43],显然其中没有条目.如何确定Pandas数据框中的列是否包含特定值以及为什么我的当前方法不起作用?(仅供参考,当我在这个问题的答案中使用实现时,我遇到了同样的问题).

python pandas

120
推荐指数
6
解决办法
21万
查看次数

使用Pandas Data Frame运行OLS回归

我有一个pandas数据框,我希望能够从B列和C列中的值预测A列的值.这是一个玩具示例:

import pandas as pd
df = pd.DataFrame({"A": [10,20,30,40,50], 
                   "B": [20, 30, 10, 40, 50], 
                   "C": [32, 234, 23, 23, 42523]})
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会有类似的东西ols(A ~ B + C, data = df),但当我从算法库中查看示例时,scikit-learn它似乎将数据提供给模型,其中包含行而不是列.这将要求我将数据重新格式化为列表中的列表,这似乎首先打败了使用pandas的目的.在pandas数据框中对数据运行OLS回归(或更普遍的机器学习算法)的最pythonic方法是什么?

python regression pandas scikit-learn statsmodels

107
推荐指数
5
解决办法
17万
查看次数

从终端调用时,使用默认Python而不是Anaconda安装

我最近安装了anaconda版本的python.现在,当我输入python终端时,它会打开anonconda发行版而不是默认发行版.如何让它python在linux(ubuntu 12.04)中使用命令的默认版本?

python linux anaconda

47
推荐指数
4
解决办法
5万
查看次数

使用分布式群集的Python多处理

我正在寻找一个python包,它不仅可以在一台计算机中的不同内核之间进行多处理,而且还可以在多台机器上分布一个集群.分布式计算有许多不同的python包,但大多数似乎需要更改代码才能运行(例如,前缀表明对象在远程计算机上).具体来说,我希望尽可能接近多处理pool.map功能.因此,例如,如果在一台机器上,脚本是:

from multiprocessing import Pool
pool = Pool(processes = 8)
resultlist = pool.map(function, arglist)
Run Code Online (Sandbox Code Playgroud)

然后,分布式集群的伪代码将是:

from distprocess import Connect, Pool, Cluster

pool1 = Pool(processes = 8)
c = Connect(ipaddress)
pool2 = c.Pool(processes = 4)
cluster = Cluster([pool1, pool2])
resultlist = cluster.map(function, arglist)
Run Code Online (Sandbox Code Playgroud)

python distributed-computing multiprocessing

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

从Python中的unicode字符串中删除标点符号的最快方法

我试图有效地从unicode字符串中删除标点符号.使用常规字符串,使用mystring.translate(None, string.punctuation)显然是最快的方法.但是,此代码在Python 2.7中打破了unicode字符串.正如对这个答案的评论所解释的那样,翻译方法仍然可以实现,但必须用字典来实现.当我使用这个实现时,我发现translate的性能大大降低了.这是我的计时代码(主要从这个答案复制):

import re, string, timeit
import unicodedata
import sys


#String from this article www.wired.com/design/2013/12/find-the-best-of-reddit-with-this-interactive-map/

s = "For me, Reddit brings to mind Obi Wan’s enduring description of the Mos Eisley cantina: a wretched hive of scum and villainy. But, you know, one you still kinda want to hang out in occasionally. The thing is, though, Reddit isn’t some obscure dive bar in a remote corner of the universe—it’s …
Run Code Online (Sandbox Code Playgroud)

python regex unicode python-2.7

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

引用R中的行号

如何参考观察的行号?例如,如果您有一个data.frame名为"数据"并且想要创建一个data$rownumber等于每个观察的行号的变量,那么如果不使用循环,您将如何进行?

row r

16
推荐指数
3
解决办法
7万
查看次数

如何在AWS Elastic Beanstalk上部署Flask与运行脚本不同?

在ec2实例上部署Flask应用程序(换句话说,在任何计算机上运行脚本)和通过AWS Elastic Beanstalk部署Flask应用程序有什么区别?Flask 部署文档说:

虽然重量轻且易于使用,但Flask的内置服务器不适合生产,因为它不能很好地扩展,默认情况下一次只能提供一个请求.此处记录了可用于在生产中正确运行Flask的一些选项.

他们推荐的部署选项之一是AWS Elastic Beanstalk.然而,当我阅读亚马逊关于如何部署Flask应用程序的解释时,似乎他们正在使用与Flask内置的完全相同的服务器应用程序,例如它是单线程的,因此无法处理同时发出的请求.据我所知,Elastic Beanstalk允许您部署多个副本,但它似乎仍然使用内置的Flask服务器应用程序.我错过了什么?

python deployment amazon-ec2 flask amazon-elastic-beanstalk

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

Python多处理:pool.map与使用队列

我正在尝试使用该multiprocessingPython.在查看教程时,似乎使用了最清晰,最直接的技术pool.map,它允许用户轻松命名进程数,并传递pool.map一个函数和一个值列表,以便在CPU之间分配该函数.我遇到的另一种技术是使用队列来管理工作池.这个答案做了出色的工作,解释之间的差异pool.map,pool.apply以及pool.apply_async,但什么是使用的优点和缺点pool.map与在此使用队列类似例子

python queue multithreading

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

Python中的错误挑选:io.UnsupportedOperation:读取

我正在尝试学习如何pickle在python中保存对象.但是,当我使用下面的示例代码时,我收到以下错误:io.UnsupportedOperation: read追溯到favorite_color = pickle.load(f_myfile).我找不到这个特殊错误的好解释.我做错了什么,如何纠正?

import pickle  # or import cPickle as pickle

# Create dictionary, list, etc.
favorite_color = { "lion": "yellow", "kitty": "red" }

# Write to file
f_myfile = open('myfile.pickle', 'wb')
pickle.dump(favorite_color, f_myfile)
f_myfile.close()

# Read from file
f_myfile = open('myfile.pickle', 'wb')
favorite_color = pickle.load(f_myfile)  # variables come out in the order you put them in
f_myfile.close()
Run Code Online (Sandbox Code Playgroud)

python pickle

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