有没有办法在Python中生成随机字母(如random.randint但字母)?random.randint的范围功能会很好但是有一个只输出随机字母的生成器会比什么都好.
我正在尝试使用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)
我该怎么办呢?
我正在使用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.*
我有两个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) 从最近的SO问题(参见在python中创建一个由列表索引的字典)我意识到我可能对python中可散列和不可变对象的含义有一个错误的概念.
Python有string.startswith()
和string.endswith()
功能,这是非常有用的.我可以使用哪些NSString方法来实现相同的功能?
在这里,我再次提出基本问题,但请耐心等待.
在Matlab中,向列表中的元素添加数字非常简单:
a = [1,1,1,1,1]
b = a + 1
Run Code Online (Sandbox Code Playgroud)
b
然后是 [2,2,2,2,2]
在python中,这似乎不起作用,至少在列表上.
是否有一种简单快捷的方法可以将整个列表中的单个数字相加.
谢谢
在日志记录文档中有以下示例:
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) 如何将字典列表转换为字典.下面是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) 我在Windows 7上使用exe安装程序spyder-2.2.3.win32.exe安装了Spyder IDE ,但是我找不到桌面图标.安装后如何启动Spyder IDE?
python ×10
pandas ×2
cocoa ×1
cython ×1
distutils ×1
hash ×1
immutability ×1
list ×1
logging ×1
mingw ×1
objective-c ×1
python-3.x ×1
random ×1
spyder ×1
sum ×1