小编joa*_*uin的帖子

在Python中生成一个随机字母

有没有办法在Python中生成随机字母(如random.randint但字母)?random.randint的范围功能会很好但是有一个只输出随机字母的生成器会比什么都好.

python random python-3.x

129
推荐指数
8
解决办法
20万
查看次数

使用cython和mingw进行编译会产生gcc:错误:无法识别的命令行选项'-mno-cygwin'

我正在尝试使用mingw(64位)在win 7 64位中使用cython编译python扩展.
我正在使用Python 2.6(Active Python 2.6.6)和足够的distutils.cfg文件(将mingw设置为编译器)

执行时

> C:\Python26\programas\Cython>python setup.py build_ext --inplace
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说gcc没有-mno-cygwin选项:

> C:\Python26\programas\Cython>python setup.py build_ext --inplace
running build_ext
skipping 'hello2.c' Cython extension (up-to-date)
building 'hello2' extension
C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python26\include -IC:\Python26\PC -c hello2.c -o build\temp.win-amd64-2.6\Release\hello2.o
gcc: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

gcc是:

C:\>gcc --version
gcc (GCC) 4.7.0 20110430 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

python distutils mingw cython

114
推荐指数
3
解决办法
6万
查看次数

Pandas:在数据框中创建两个新列,其中的值是根据预先存在的列计算的

我正在使用pandas库,我想在df具有n列(n> 0)的数据帧中添加两个新列.
这些新列是将函数应用于数据框中的一列的结果.

要应用的功能如下:

def calculate(x):
    ...operate...
    return z, y
Run Code Online (Sandbox Code Playgroud)

为仅返回值的函数创建新列的一种方法是:

df['new_col']) = df['column_A'].map(a_function)
Run Code Online (Sandbox Code Playgroud)

所以,我想要的,并尝试不成功(*),是这样的:

(df['new_col_zetas'], df['new_col_ys']) = df['column_A'].map(calculate)
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?我没有任何线索扫描文档.

**df['column_A'].map(calculate)返回一个pandas系列,每个项目由一个元组z,y组成.并尝试将其分配给两个dataframe列会产生ValueError.*

python pandas

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

大熊猫中的笛卡儿产品

我有两个pandas数据帧:

from pandas import DataFrame
df1 = DataFrame({'col1':[1,2],'col2':[3,4]})
df2 = DataFrame({'col3':[5,6]})     
Run Code Online (Sandbox Code Playgroud)

获得笛卡尔积的最佳做法是什么(当然不像我这样明确地写出来)?

#df1, df2 cartesian product
df_cartesian = DataFrame({'col1':[1,2,1,2],'col2':[3,4,3,4],'col3':[5,5,6,6]})
Run Code Online (Sandbox Code Playgroud)

python pandas

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

可洗,不变

从最近的SO问题(参见在python中创建一个由列表索引的字典)我意识到我可能对python中可散列和不可变对象的含义有一个错误的概念.

  • 在实践中,什么是可以平均的?
  • hashable和immutable之间的关系是什么?
  • 是否有可变对象是可清洗的或不可变的对象?

python hash immutability data-structures

76
推荐指数
4
解决办法
3万
查看次数

Objective-C(cocoa)相当于python的endswith/startswith

Python有string.startswith()string.endswith()功能,这是非常有用的.我可以使用哪些NSString方法来实现相同的功能?

python cocoa objective-c

45
推荐指数
3
解决办法
7261
查看次数

将一个数字与Python中列表(或数组)中的每个元素相加

在这里,我再次提出基本问题,但请耐心等待.

在Matlab中,向列表中的元素添加数字非常简单:

a = [1,1,1,1,1]
b = a + 1
Run Code Online (Sandbox Code Playgroud)

b 然后是 [2,2,2,2,2]

在python中,这似乎不起作用,至少在列表上.

是否有一种简单快捷的方法可以将整个列表中的单个数字相加.

谢谢

python sum list

36
推荐指数
3
解决办法
8万
查看次数

记录setLevel,它是如何工作的

日志记录文档中有以下示例:

import logging

# create logger
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)

# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# add formatter to ch
ch.setFormatter(formatter)

# add ch to logger
logger.addHandler(ch)
Run Code Online (Sandbox Code Playgroud)

为什么我应该将级别设置为logging.DEBUG两次,for Logger和for StreamHandler

据我所知,ch.setLevel(logging.DEBUG)将设置流处理程序的调试级别.但是将记录器设置为水平的效果是什么?这个水平反映在哪里?

我得到同样的控制台输出,如果我改变等级,例如,INFO无论对Logger或到StreamHandler.

那是:

...........
logger.setLevel(logging.INFO)
............
ch.setLevel(logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)

在控制台中提供相同的输出

...........
logger.setLevel(logging.DEBUG)
............
ch.setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)

python logging

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

如何将dict列表转换为dict

如何将字典列表转换为字典.下面是dict列表

data = [{'name': 'John Doe', 'age': 37, 'sex': 'M'},
        {'name': 'Lisa Simpson', 'age': 17, 'sex': 'F'},
        {'name': 'Bill Clinton', 'age': 57, 'sex': 'M'}]
Run Code Online (Sandbox Code Playgroud)

data = {{'name': 'John Doe', 'age': 37, 'sex': 'M'},
        {'name': 'Lisa Simpson', 'age': 17, 'sex': 'F'},
        {'name': 'Bill Clinton', 'age': 57, 'sex': 'M'}}
Run Code Online (Sandbox Code Playgroud)

python

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

如何开始spyder ide?

我在Windows 7上使用exe安装程序spyder-2.2.3.win32.exe安装了Spyder IDE ,但是我找不到桌面图标.安装后如何启动Spyder IDE?

python spyder

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