小编use*_*836的帖子

PostgreSQL:创建表,如果不存在AS

我正在使用PostgreSQL并且是一个SQL初学者.我正在尝试从查询中创建一个表,如果我运行:

CREATE TABLE table_name AS
   (....query...)
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但是如果我添加'if not exists'并运行:

CREATE TABLE IF NOT EXISTS table_name AS
   (....query...)
Run Code Online (Sandbox Code Playgroud)

使用完全相同的查询,我得到:

ERROR: syntax error at or near "as"
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

sql postgresql create-table

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

包含双引号字符的python字符串

我输入了由字符组成的字符串,包括双引号和单引号"和"

B@SS$*JU(PQ
AD&^%$^@!$
%()%@@DDSFD"*")(#
ABD*E@(%J^&@
Run Code Online (Sandbox Code Playgroud)

但是,当我从文本文件打开上面的输入并打印它时,第三行中的双引号打印为\ xe2\x80\x9d

我的目标是做一个简单的字符计数:

B 2
@ 3
S 2
$ 3
etc.
Run Code Online (Sandbox Code Playgroud)

所以我希望能够输出

" 3
Run Code Online (Sandbox Code Playgroud)

在上面的列表中.我应该用一些东西替换双引号,以便我可以计算它们并打印掉计数吗?

非常感谢.

python string double-quotes

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

pandas:groupby 和 unstack 创建用于分类的特征向量

我有一个 pandas 数据框,显示用户在测试问题上的表现。它看起来像这样:

userID     questionID   correct
-------------------------------
  1             1          1
  1             5          1
  1             6          0
  1             8          0
  1             10         1
  2             3          1
  2             5          1
  2             6          0
  .             .          .
  .             .          .
  .             .          .   
Run Code Online (Sandbox Code Playgroud)

我想为每个用户创建一个特征向量,说明他们是否答对了每个问题,如下所示:

questionID     1     2      3     4     5     6     ...
userID       -------------------------------------------------
  1            1    NaN   NaN    NaN    1     0     ...
  2           NaN   NaN    1     NaN    1     0     ...
  .           ...
  .           ...
  .            
Run Code Online (Sandbox Code Playgroud)

每个用户只会看到所有问题的子集,因此它是一个稀疏矩阵。

我怎样才能用pandas制作上面的表格?

我想做类似下面的事情 - 按 userID 和 QuestionID …

python machine-learning pandas

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

d3 绘制不同时间尺度的多个时间序列

我是 d3 (和 javascript)的新手,想问我是否可以在同一张图表上绘制 2 个不同的时间序列(如果它们具有不同的时间尺度) - 例如,一个是每月数据,另一个是每年数据

d3 是否自动处理 x 轴刻度?

你能指点我一些示例代码吗?

任何建议将不胜感激。

提前致谢。

javascript plot d3.js

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

在 Pandas 中移动缺少日期的时间序列

我有一个时间序列,其中缺少一些条目,如下所示:

date     value
---------------
2000       5
2001      10
2003      8
2004      72
2005      12
2007      13
Run Code Online (Sandbox Code Playgroud)

我想为“previous_value”创建一个列。但我只希望它显示连续几年的值。所以我希望它看起来像这样:

date     value    previous_value
-------------------------------
2000       5        nan
2001      10         5
2003      8         nan
2004      72         8
2005      12        72
2007      13        nan
Run Code Online (Sandbox Code Playgroud)

但是,仅将 pandas shift 函数直接应用于列 'value' 将为 'time' = 2003 提供 'previous_value' = 10,而对于 'time' = 2007 则为 'previous_value' = 12。

在熊猫中处理这个问题的最优雅的方法是什么?(我不确定它是否像设置 'freq' 属性一样简单)。

python time-series shift pandas

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

Pandas 计算来自分组数据帧的连续相等值的长度

我想在这里做他们在答案中所做的事情:在 pandas 中以矢量化方式计算特定连续相等值的数量 ,但使用分组数据帧而不是系列。

所以给定一个有几列的数据框

A    B    C   
------------ 
x    x    0
x    x    5
x    x    2
x    x    0
x    x    0
x    x    3
x    x    0
y    x    1
y    x    10
y    x    0
y    x    5
y    x    0
y    x    0
Run Code Online (Sandbox Code Playgroud)

我想对 A 列和 B 列进行分组,然后计算 C 中连续零的数量。之后我想返回每个零长度出现次数的计数。所以我想要这样的输出:

A    B    num_consecutive_zeros  count
---------------------------------------
x    x            1                2
x    x            2                1
y    x            1                1
y    x            2                1
Run Code Online (Sandbox Code Playgroud)

我不知道如何调整链接问题的答案来处理分组数据框。

python group-by count pandas

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

按多列对数据帧进行分组,并将结果附加到数据帧

这类似于将计算列附加到现有数据框,但是,当在pandas v0.14中按多个列进行分组时,该解决方案不起作用.

例如:

$ df = pd.DataFrame([
    [1, 1, 1],
    [1, 2, 1],
    [1, 2, 2],
    [1, 3, 1],
    [2, 1, 1]],
    columns=['id', 'country', 'source'])
Run Code Online (Sandbox Code Playgroud)

以下计算有效:

$ df.groupby(['id','country'])['source'].apply(lambda x: x.unique().tolist())


0       [1]
1    [1, 2]
2    [1, 2]
3       [1]
4       [1]
Name: source, dtype: object
Run Code Online (Sandbox Code Playgroud)

但是将输出分配给新列会导致错误:

df['source_list'] = df.groupby(['id','country'])['source'].apply(
                               lambda x: x.unique().tolist())
Run Code Online (Sandbox Code Playgroud)

TypeError:带有帧索引的插入列的不兼容索引

pandas pandas-groupby

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