小编Kri*_*K S的帖子

在pandas中使用read_csv时精度会丢失

我在文本文件中有以下格式的文件,我试图读入一个pandas数据帧.

895|2015-4-23|19|10000|LA|0.4677978806|0.4773469340|0.4089938425|0.8224291972|0.8652525793|0.6829942860|0.5139162227|
Run Code Online (Sandbox Code Playgroud)

如您所见,输入文件中的浮点后有10个整数.

df = pd.read_csv('mockup.txt',header=None,delimiter='|')
Run Code Online (Sandbox Code Playgroud)

当我尝试将其读入数据帧时,我没有得到最后4个整数

df[5].head()

0    0.467798
1    0.258165
2    0.860384
3    0.803388
4    0.249820
Name: 5, dtype: float64
Run Code Online (Sandbox Code Playgroud)

如何获得输入文件中的完整精度?我有一些需要执行的矩阵操作,所以我不能把它作为字符串.

我发现我必须做些什么,dtype但我不知道应该在哪里使用它.

python csv numpy floating-accuracy pandas

11
推荐指数
1
解决办法
9504
查看次数

为什么NaN被认为是浮动?

pandas当我们努力蒙上了一系列含有NaN值与一个片段,如以下为整

df.A = df.A.apply(int) ,我经常看到一条错误信息

ValueError: cannot convert float NaN to integer
Run Code Online (Sandbox Code Playgroud)

我知道NaN值不能转换为整数.但我很好奇ValueError这个案子的抛出.它说float NaN不能转换为整数.

是否有任何特定原因将NaN值视为浮动对象?或者这是显示错误消息的某些问题的情况?

python numpy pandas

8
推荐指数
2
解决办法
3558
查看次数

使用python中的列表的"约瑟夫问题"

我想知道是否有可能使用python中的list来解决Josepheus问题.

简单来说,约瑟夫斯问题就是找到一个圆形排列的位置,如果使用事先已知的跳过参数来处理执行,这将是安全的.

例如:给定循环排列,例如[1,2,3,4,5,6,7]3和跳过参数,人们将按顺序执行,3,6,2,7,5,1并且位置4将是安全的.

我一直试图使用列表解决这个问题一段时间了,但索引位置对我来说变得棘手了.

 a=[x for x in range(1,11)]
 skip=2
 step=2
 while (len(a)!=1):
   value=a[step-1]
   a.remove(value)
   n=len(a)
   step=step+skip
   large=max(a)
   if step>=n:        
      diff=abs(large-value)
      step=diff%skip
   print a
Run Code Online (Sandbox Code Playgroud)

用代码片段更新了问题,但我不认为我的逻辑是正确的.

python list josephus

7
推荐指数
2
解决办法
7751
查看次数

列表转换

我正在寻找一种方法来转换这样的列表

[[1.1, 1.2, 1.3, 1.4, 1.5],
 [2.1, 2.2, 2.3, 2.4, 2.5],
 [3.1, 3.2, 3.3, 3.4, 3.5],
 [4.1, 4.2, 4.3, 4.4, 4.5],
 [5.1, 5.2, 5.3, 5.4, 5.5]]
Run Code Online (Sandbox Code Playgroud)

这样的事情

[[(1.1,1.2),(1.2,1.3),(1.3,1.4),(1.4,1.5)],
 [(2.1,2.2),(2.2,2.3),(2.3,2.4),(2.4,2.5)]
 .........................................
Run Code Online (Sandbox Code Playgroud)

python list

4
推荐指数
2
解决办法
298
查看次数

嵌套ArrayList:访问私有成员

这是我被要求做的功课问题.

创建一个外部ArrayList并将两个ArrayList插入其中.

ArrayList<Customer> customers1 = new ArrayList<Customer>();
ArrayList<CustomerOtherDetails> customers2 = new ArrayList<CustomerOtherDetails>();
ArrayList<ArrayList> outerList = new ArrayList<ArrayList>();
Run Code Online (Sandbox Code Playgroud)

这些是创建的三个ArrayList,存在两个单独的样本类Customer和CustomerOtherDetails.我会通过执行customers1.add(客户)等将参考变量添加到arrayLists(customers1和customers2).我被要求做一些示例,例如添加新客户,搜索新客户,排序等所有这些来自嵌套的ArrayList

我目前面临的问题是我无法打印数组列表中引用变量指向的值的详细信息.

当我尝试使用get()打印出值时,我只能像这样打印出来

[[new.Customer@3972aa3f], [new.advanced.CustomerOtherDetails@17072b90]]
Run Code Online (Sandbox Code Playgroud)

java arraylist

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

无限猴子定理:超出最大递归深度

我试图解决无限猴子定理,这是我在网上遇到的编程任务的一部分.

问题陈述是:

该定理指出,猴子在打字机键盘上随机敲击键无限时间几乎肯定会输入一个给定的文本,例如威廉·莎士比亚的全集.好吧,假设我们用Python函数替换猴子.你认为Python函数生成莎士比亚的一个句子需要多长时间?我们要拍的句子是:"它就像狡猾的人一样"

我试图看a)是否有可能生成字符串b)生成字符串后迭代次数

我已经将递归限制设置为10000,查看之前的SO问题,但我仍然得到达到最大递归深度的运行时错误.

我仍然在寻找python的方法.我希望看到有关如何以更好的方式做到这一点的建议,而不会遇到递归深度问题.

到目前为止,这是我的代码:

import random
import sys
alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ']
quote="methinks  it is like a weasel"
msg='cont'
count=0

sys.setrecursionlimit(10000)

def generate(msg):
    sentence=''
    while len(sentence)!=27:
        #random.choice() prints a random element from list 'alphabet'
        sentence=sentence+random.choice(alphabet)
    if msg=='cont':
        verify(sentence)

def verify(msg2):
    global count
    if msg2.find(quote)==-1:
        count+=1
        generate('cont')

    else:
        print 'sentence is ',msg2 ,'count is',count

if __name__ == '__main__':
    generate(msg)
Run Code Online (Sandbox Code Playgroud)

python recursion runtime-error

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