小编Cle*_*leb的帖子

MySQL和GROUP_CONCAT()的最大长度

GROUP_CONCAT()在MySQL查询中使用将多行转换为单个字符串.但是,此函数的结果的最大长度是1024字符.

我非常清楚我可以改变参数group_concat_max_len来增加这个限制:

SET SESSION group_concat_max_len = 1000000;
Run Code Online (Sandbox Code Playgroud)

但是,在我正在使用的服务器上,我无法更改任何参数.不是通过使用前面的查询而是通过编辑任何配置文件.

所以我的问题是:有没有其他方法可以将多行查询的输出转换为单个字符串?

mysql group-concat

244
推荐指数
6
解决办法
23万
查看次数

如何将列拆分为两列?

我有一个包含一列的数据框,我想把它分成两列,一列标题为' fips'和另一列'row'

我的数据框df看起来像这样:

          row
0    00000 UNITED STATES
1    01000 ALABAMA
2    01001 Autauga County, AL
3    01003 Baldwin County, AL
4    01005 Barbour County, AL
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用df.row.str[:]来实现分割行单元格的目标.我可以df['fips'] = hello用来添加一个新列并填充它hello.有任何想法吗?

         fips       row
0    00000 UNITED STATES
1    01000 ALABAMA 
2    01001 Autauga County, AL
3    01003 Baldwin County, AL
4    01005 Barbour County, AL
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

168
推荐指数
9
解决办法
27万
查看次数

如何从Pandas数据帧中过滤包含字符串模式的行

假设我们在Python Pandas中有一个数据框,如下所示:

df = pd.DataFrame({'vals': [1, 2, 3, 4], 'ids': [u'aball', u'bball', u'cnut', u'fball']})
Run Code Online (Sandbox Code Playgroud)

或者,以表格形式:

ids    vals
aball   1
bball   2
cnut    3
fball   4
Run Code Online (Sandbox Code Playgroud)

如何过滤包含关键词"ball?"的行?例如,输出应为:

ids    vals
aball   1
bball   2
fball   4
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

108
推荐指数
4
解决办法
21万
查看次数

如何在词典理解中使用if/else?

在python2.7 +存在任何方式来做类似的东西:

{ something_if_true if condition else something_if_false for key, value in dict_.items() }
Run Code Online (Sandbox Code Playgroud)

我知道你可以用'if'做任何事情

{ something_if_true for key, value in dict_.items() if condition}
Run Code Online (Sandbox Code Playgroud)

python dictionary dictionary-comprehension

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

Python pandas将列表插入到单元格中

我有一个列表'abc'和一个数据帧'df':

abc = ['foo', 'bar']
df =
    A  B
0  12  NaN
1  23  NaN
Run Code Online (Sandbox Code Playgroud)

我想将列表插入单元格1B,所以我想要这个结果:

    A  B
0  12  NaN
1  23  ['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?

1)如果我使用这个:

df.ix[1,'B'] = abc
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

ValueError: Must have equal len keys and value when setting with an iterable
Run Code Online (Sandbox Code Playgroud)

因为它试图将列表(有两个元素)插入行/列但不插入单元格.

2)如果我使用这个:

df.ix[1,'B'] = [abc]
Run Code Online (Sandbox Code Playgroud)

然后它插入一个只有一个元素是'abc'列表([['foo', 'bar']])的列表.

3)如果我使用这个:

df.ix[1,'B'] = ', '.join(abc)
Run Code Online (Sandbox Code Playgroud)

然后它插入一个字符串:( foo, bar)但不是列表.

4)如果我使用这个:

df.ix[1,'B'] = [', '.join(abc)]
Run Code Online (Sandbox Code Playgroud)

然后它插入一个列表,但它只有一个元素(['foo, bar'])但不是我想要的两个(['foo', 'bar']).

感谢帮助!


编辑

我的新数据框和旧列表:

abc = ['foo', …
Run Code Online (Sandbox Code Playgroud)

python list insert dataframe pandas

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

如何在Python中绘制ROC曲线

我试图绘制一条ROC曲线来评估我使用逻辑回归包在Python中开发的预测模型的准确性.我计算了真阳性率和假阳性率; 但是,我无法弄清楚如何正确地使用这些matplotlib并计算AUC值.我怎么能这样做?

python statistics plot matplotlib roc

60
推荐指数
11
解决办法
13万
查看次数

在引号内使用引号

当我想print在Python中执行命令并且我需要使用引号时,我不知道如何在不关闭字符串的情况下执行此操作.

例如:

print " "a word that needs quotation marks" "
Run Code Online (Sandbox Code Playgroud)

但是当我尝试做我上面做的事情时,我最终关闭了字符串,我不能把我需要的字放在引号之间.

我怎样才能做到这一点?

python string

54
推荐指数
4
解决办法
22万
查看次数

pandas .at与.loc

我一直在探索如何优化我的代码并运行pandas .at方法.根据文档

基于标签的快速标量访问器

与loc类似,at提供基于标签的标量查找.您也可以使用这些索引器进行设置.

所以我跑了一些样品:

建立

import pandas as pd
import numpy as np
from string import letters, lowercase, uppercase

lt = list(letters)
lc = list(lowercase)
uc = list(uppercase)

def gdf(rows, cols, seed=None):
    """rows and cols are what you'd pass
    to pd.MultiIndex.from_product()"""
    gmi = pd.MultiIndex.from_product
    df = pd.DataFrame(index=gmi(rows), columns=gmi(cols))
    np.random.seed(seed)
    df.iloc[:, :] = np.random.rand(*df.shape)
    return df

seed = [3, 1415]
df = gdf([lc, uc], [lc, uc], seed)

print df.head().T.head().T
Run Code Online (Sandbox Code Playgroud)

df 好像:

            a                                        
            A         B         C         D         E …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Neo4j警告:允许最多1024个打开文件,建议最少40 000个.请参阅Neo4j手册

我使用这些说明在Ubuntu 12.04上安装了Neo4j:http://www.neo4j.org/download/linux

wget -O - http://debian.neo4j.org/neotechnology.gpg.key | apt-key add - 
echo 'deb http://debian.neo4j.org/repo stable/' > /etc/apt/sources.list.d/neo4j.list
apt-get update
apt-get install neo4j
Run Code Online (Sandbox Code Playgroud)

我确保有正确的jdk:

root@precise64:~# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Run Code Online (Sandbox Code Playgroud)

当我启动neo4j时,我收到此错误:

警告:允许最多1024个打开文件,建议最少40 000个.请参阅Neo4j手册.

所以我按照这里的说明操作:http://docs.neo4j.org/chunked/1.6.2/configuration-linux-notes.html

并将这些内容添加到 /etc/security/limits.conf

neo4j   soft    nofile  40000
neo4j   hard    nofile  40000
Run Code Online (Sandbox Code Playgroud)

并取消注释这一行 /etc/pam.d/su

session    required   pam_limits.so
Run Code Online (Sandbox Code Playgroud)

重新启动服务器后,我验证了新的限制

neo4j@precise64:~$ ulimit -n
40000
Run Code Online (Sandbox Code Playgroud)

然后我重启我的服务器.启动时我仍然遇到同样的错误.

root@precise64:~# service neo4j-service start
WARNING: Max …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu neo4j

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

如何在pandas数据帧中添加额外的行

如果我有一个空的数据帧:

columns = ['Date', 'Name', 'Action','ID']
df = pd.DataFrame(columns=columns) 
Run Code Online (Sandbox Code Playgroud)

有没有办法将新行附加到这个新创建的数据框?目前我必须创建一个字典,填充它,然后在最后将字典附加到数据框.有更直接的方式吗?

python pandas

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