我在处理 pandas 0.14.0 中 DataFrame 的 to_csv() 函数时遇到了一个令人作呕的问题。我有一个长 numpy 数组列表作为 DataFrame df 中的一列:
>>> df['col'][0]
array([ 0, 1, 2, ..., 9993, 9994, 9995])
>>> len(df['col'][0])
46889
>>> type(df['col'][0][0])
<class 'numpy.int64'>
Run Code Online (Sandbox Code Playgroud)
如果我通过以下方式保存 df
df.to_csv('df.csv')
Run Code Online (Sandbox Code Playgroud)
在 LibreOffice 中打开 df.csv,对应的列显示如下:
[ 0, 1, 2, ..., 9993, 9994, 9995]
Run Code Online (Sandbox Code Playgroud)
而不是列出所有 46889 号码。我想知道是否有一种方法可以强制 to_csv 列出所有数字而不是显示省略号?
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2 entries, 0 to 1
Data columns (total 4 columns):
pair 2 non-null object
ARXscore 2 non-null float64
bselect 2 non-null bool
col 2 non-null object …Run Code Online (Sandbox Code Playgroud) 我正在使用Ubuntu 13.04(统一).在nw模式下使用emacs时,某些emacs键绑定无法正常工作.例如,如果我使用Alt+ v,而不是向后移动当前页面,则会弹出"查看"菜单.即使在我取消"显示菜单栏"选项后,Alt + v仍然无效.有谁知道如何解决密钥绑定冲突?
这里有一个关于 MPI 的问题。我需要两个处理器不断修改一个变量,并且我希望两个处理器都能够访问具有最新值的变量。
from mpi4py import MPI
from time import sleep
comm = MPI.COMM_WORLD
rank = comm.rank
assert comm.size == 2
msg = 0
sec = 10
if comm.rank == 0:
for i in range(sec):
print msg
sleep(1)
msg = comm.bcast(msg,root = 1)
else:
for i in range(sec*2):
msg += 1
sleep(0.5)
comm.bcast(msg,root = 1)
Run Code Online (Sandbox Code Playgroud)
所以我期望程序打印出类似的内容: 0 2 4 ...
但程序结果打印: 0 1 2 3 4 5 6 7 8 9
我很好奇 mpi4py 中是否有一种机制可以使变量msg由两个处理器共享?也就是说,每当处理器 1 修改msg时,新值立即可供处理器 0 …