小编nat*_*002的帖子

python:将pandas dataframe中的数值数据转换为存在字符串时的浮点数

我有一个带有'cap'列的pandas数据框.此列主要由浮点数组成,但其中包含一些字符串,例如索引2.

df =
    cap
0    5.2
1    na
2    2.2
3    7.6
4    7.5
5    3.0
...
Run Code Online (Sandbox Code Playgroud)

我从csv文件导入我的数据,如下所示:

df = DataFrame(pd.read_csv(myfile.file))
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我这样做时,列'cap'完全作为字符串导入.我希望浮动被识别为浮点数和字符串作为字符串.尝试使用以下方法转换:

df['cap'] = df['cap'].astype(float)
Run Code Online (Sandbox Code Playgroud)

抛出一个错误:

could not convert string to float: na
Run Code Online (Sandbox Code Playgroud)

有没有办法让所有数字成为浮点数但是将'na'保持为字符串?

python dataframe pandas

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

重叠的表格元素左右边框

我想将表格第一行中的每个元素设置为具有特定颜色的左边框和特定颜色的右边框.不幸的是,看起来相邻表格单元格的边框重叠,我只显示左边框颜色.左边界应为浅灰色,右边为深灰色.

在此输入图像描述

这是我生成表格的HTML.(HTML在cherrypy中生成)

<th id="tbl_head" colspan='4'>%s</th>
    <tr>
        <td id="colhead">Track</td>
        <td id="colhead">Artist</td>
        <td id="colhead_time">Time</td>
        <td id="colhead">Album</td>
    </tr>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS:

table {
    font-family: verdana,arial,sans-serif;
    font-size:11px;
    margin-left: auto;
    margin-right: auto;
    border-width: 1px;
    border-collapse: collapse;
}

td {
    padding: 3px;
}

#colhead {
    font-weight: bold;
    text-align: left;
    background-color: #989898;
    color: #000000;

    border-left-color:   #aeaeae;
    border-left-style: solid;
    border-left-width: 2px;

    border-right-color: #6c6c6c;    
    border-right-style: solid;
    border-right-width: 1px;

}

#colhead_time {
    font-weight: bold;
    text-align: right;
    background-color: #989898;
    color: #000000;

    border-left-color:   #aeaeae;
    border-left-style: solid;
    border-left-width: 2px;

    border-right-color: #6c6c6c;    
    border-right-style: solid;
    border-right-width: 1px; …
Run Code Online (Sandbox Code Playgroud)

html css html-table border overlap

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

Python Cherrypy:500 ValueError:页面处理程序必须返回字节

我从提交模块生成的cherrypy脚本中收到以下错误。

ValueError:页面处理程序必须返回字节。如果您希望返回 unicode,请使用 tools.encode

我在我的配置中打开了 tool.encode 但我仍然收到这个错误。我允许用户通过 jQuery 表单插件上传内容。关于为什么我收到此错误的任何想法?

这是我的樱桃文件:

class Root(object):    

@cherrypy.expose
def index(self)
    return open('/home/joestox/webapps/freelinreg_static/index.html')

@cherrypy.expose
def submit(self, myfile):

    cherrypy.session['myfile'] = myfile
    data_name = myfile.filename

    #Send back to JQuery with Ajax
    #Put in JSON form
    data_name= json.dumps(dict(title = data_name))
    cherrypy.response.headers['Content-Type'] = 'application/json'

    return data_name



cherrypy.config.update({
    'tools.staticdir.debug': True,
    'log.screen': True,
    'server.socket_host': '127.0.0.1',
    'server.socket_port': *****,
    'tools.sessions.on': True,
    'tools.encode.on': True,
    'tools.encode.encoding': 'utf-8',
})

config = {
}

cherrypy.tree.mount(Root(), '/', config=config)
cherrypy.engine.start()
Run Code Online (Sandbox Code Playgroud)

HTML:

<!DOCTYPE html>
    <html>
        <head> 
            <script type='text/javascript' src='freelinreg_static/google.js'></script>
            <script type='text/javascript' …
Run Code Online (Sandbox Code Playgroud)

python unicode cherrypy

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

pandas read_sql 返回带有传递参数的查询字符串

import pandas as pd
q = """
     select *
     from tbl 
     where metric = %(my_metric)s
     ;
     """
params = {'my_metric':'sales'}
pd.read_sql(q, mysql_conn, params=params)
Run Code Online (Sandbox Code Playgroud)

我使用 pandas read_sql 函数安全地将参数传递给我的查询字符串。我想返回带有替换参数的最终查询字符串以及结果。例如,返回字符串:

select *
from tbl 
where metric = 'sales'
;
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

python sql pandas

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

scipy.optimize minus:目标函数中的两个输出变量?

我正在使用 scipyminimize函数来查找某些参数的最佳值,H并且Q. 我的目标函数kalman是根据变量 进行评估的log_likelihood。简而言之,我试图找到 的最佳值HQ最大化变量log_likelihood

为了做到这一点,scipy 的minimize函数要求这log_likelihood是 my function 的唯一输出kalman

H我的代码运行良好,我可以找到两个参数和的最佳值Q。然而,我想做的是使用最优值和值运行kalman最后一次(优化后) ,并返回另一个变量。HQkalmanA

我不能这样做,因为如果我设置

return log_likelihood, A
Run Code Online (Sandbox Code Playgroud)

在我的kalman函数中,该minimize函数不会运行,因为minimize只能处理目标函数的一个输出。

有什么想法吗?

这是我的代码:

import numpy as np
from scipy.optimize import minimize

def kalman(x0):

    #set parameters values
    H = x0[0]
    Q = x0[1]

    #Do some operations
    #use H …
Run Code Online (Sandbox Code Playgroud)

python optimization scipy scipy-optimize-minimize

5
推荐指数
0
解决办法
4538
查看次数

已使用不兼容格式定义的属性

我在我的项目中遇到这个错误,我不能为我的生活找到我navigationMode的定义两次.

Error:(707) Attribute "navigationMode" already defined with incompatible format.

错误的来源是这个文件: /Users/temp/code/MyCoolProject/app/build/intermediates/res/merged/debug/values/values.xml

这个文件是如何生成的?我没有写.

这里定义在我的:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="navigationMode">
        <enum name="listMode" value="1" />
        <enum name="normal" value="0" />
        <enum name="tabMode" value="2" />
    </attr>
</resources>
Run Code Online (Sandbox Code Playgroud)

我怎样才能摆脱这个错误?

java android android-studio

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

SQL:创建新字段,填充查询结果

我有两个表:tbl_listings,列:prop_id; 和另一个表:tbl_bookings,列:prop_id,booking_date.

我想编写一个查询,计算prop_id出现在tbl_bookings中的所有时间,然后使用该查询的结果填充tbl_listings中的新列.

我的查询看起来像:

ALTER TABLE tbl_listings
ADD COLUMN prop_count INT

UPDATE tbl_listings
    SET prop_count =
    (SELECT COUNT(*)
    FROM tbl_bookings
    GROUP BY prop_id)
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我得到一个错误说:子查询返回超过1行.我该如何解决?

sql field populate

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

Python:numpy.insert NaN值

我正在尝试将NaN值插入numpy数组的特定索引。我不断收到此错误:

TypeError:根据规则“安全”,无法将数组数据从dtype('float64')转换为dtype('int64')

尝试使用以下代码进行操作时。

x = np.array(range(1,11))
x = np.insert(x, 5, np.nan, axis=0)
Run Code Online (Sandbox Code Playgroud)

但是,我可以NaN毫无问题地将值附加到数组的末尾。

x = np.array(range(1,11))
x = np.append(x, np.nan)
Run Code Online (Sandbox Code Playgroud)

为什么会这样,如何在数组中插入NaN值?

python arrays numpy

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

Python:替换numpy数组的每个第5个值

我有一个装满浮子的numpy阵列.如何更换每个第5个值,np.inf*0以便NaN在每个第5个索引获得一个值?

my_array = np.array([5.0, 8.1, 3.2, 2.7, 8.4, 4.9 ...])
Run Code Online (Sandbox Code Playgroud)

my_array = np.array([5.0, 8.1, 3.2, 2.7, NaN, 4.9 ...])
Run Code Online (Sandbox Code Playgroud)

等等.

python numpy

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

mysql查询,子查询返回多行

我有两列日期,t_dates_date.我正在计算发生的记录数,其中发生s_date的日期与发布t_date后的n天窗口相同t_date.

这是查询.它返回多行.

select count(id)
from customers
where s_date >= t_date
and s_date <= t_date + 1
group by t_date;
Run Code Online (Sandbox Code Playgroud)

有没有办法设计一个包含多个sub queries返回多行的查询?这样我可以增加时间窗口?就像是:

select (
    select count(id)
    from customers
    where s_date >= t_date
    and s_date <= t_date + 1
    group by t_date
    ) as c1,
    (
    select count(id)
    from customers
    where s_date >= t_date
    and s_date <= t_date + 2
    group by t_date
    ) as c2;
Run Code Online (Sandbox Code Playgroud)

但是,此查询会返回" Sub query returns …

mysql sql

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