我正在使用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)
使用完全相同的查询,我得到:
Run Code Online (Sandbox Code Playgroud)ERROR: syntax error at or near "as"
有没有办法做到这一点?
我输入了由字符组成的字符串,包括双引号和单引号"和"
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)
在上面的列表中.我应该用一些东西替换双引号,以便我可以计算它们并打印掉计数吗?
非常感谢.
我有一个 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 …
我是 d3 (和 javascript)的新手,想问我是否可以在同一张图表上绘制 2 个不同的时间序列(如果它们具有不同的时间尺度) - 例如,一个是每月数据,另一个是每年数据
d3 是否自动处理 x 轴刻度?
你能指点我一些示例代码吗?
任何建议将不胜感激。
提前致谢。
我有一个时间序列,其中缺少一些条目,如下所示:
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' 属性一样简单)。
我想在这里做他们在答案中所做的事情:在 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)
我不知道如何调整链接问题的答案来处理分组数据框。
这类似于将计算列附加到现有数据框,但是,当在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 ×4
python ×4
count ×1
create-table ×1
d3.js ×1
group-by ×1
javascript ×1
plot ×1
postgresql ×1
shift ×1
sql ×1
string ×1
time-series ×1