当我使用时,我没有得到与极地熊猫相同的输出to_dict。
示例 1。
df = pd.DataFrame({
'column_1': [1, 2, 1,4,5],
'column_2': ['Alice', 'Bob', 'Alice','Tom', 'Tom'],
'column_3': ['Alice1', 'Bob', 'Alice2','Tom', 'Tom']
})
test = df.to_dict(orient='records')
print('PANDAS',test)
Run Code Online (Sandbox Code Playgroud)
带输出
[{'column_1': 1, 'column_2': 'Alice', 'column_3': 'Alice1'}, {'column_1': 2, 'column_2': 'Bob', 'column_3': 'Bob'}, {'column_1': 1, 'column_2': 'Alice', 'column_3': 'Alice2'}, {'column_1': 4, 'column_2': 'Tom', 'column_3': 'Tom'}, {'column_1': 5, 'column_2': 'Tom', 'column_3': 'Tom'}]
Run Code Online (Sandbox Code Playgroud)
示例 2.
dfPolars = pl.DataFrame({
'column_1': [1, 2, 1,4,5],
'column_2': ['Alice', 'Bob', 'Alice','Tom', 'Tom'],
'column_3': ['Alice1', 'Bob', 'Alice2','Tom', 'Tom']
})
testpolars = …Run Code Online (Sandbox Code Playgroud) 我有一个“问题”(可能来自我对 json、jsonb 和 jsonb[] 类型的理解)如下:
我和我的团队将 3D 坐标记录插入到列类型为 的表中jsonb[]。
该表包含一个 id 列,该列基于记录的文本表示形式。也就是说,当我从表中选择一些数据时,所有包含坐标值等于-0.0(位符号打开)的记录,我得到的数据不包含减号。-0.0 -> 0.0。
我知道关于浮点数的 IEEE754 RFC(以及比较部分),我想知道 Postgres 如何处理 jsonb 数组内的元素?插入数据时是否会即时进行转换/转换。有没有办法阻止这种行为?
最小可重现代码:
CREATE TABLE IF NOT EXISTS "my_test_table" (
coordinates jsonb[]
);
TRUNCATE TABLE "my_test_table";
INSERT INTO
"public"."my_test_table" ("coordinates")
VALUES (
ARRAY[jsonb_build_array(-0.0, 0.0,0.0)]::jsonb[]
);
select * from my_test_table;
Run Code Online (Sandbox Code Playgroud)
输出是:
{"[0.0, 0.0, 0.0]"}
Run Code Online (Sandbox Code Playgroud)
当人们期望:
{"[-0.0, 0.0, 0.0]"}
Run Code Online (Sandbox Code Playgroud) 在过去 24 小时左右的时间里,当我尝试在 python 中安装 sexpdata 1.0.1 或 segno 1.5.3 时,我看到以下错误消息。
\n我也许应该注意到,这些安装通常是通过 github 代码运行程序(自动测试)进行的,这让我注意到了这个问题。我可以在本地重现。
\n我的requirements.txt 已经好几个星期没有改变了,甚至更长时间没有发生实质性的改变。爬回提交树不会改变错误。所以我怀疑问题不在我的代码中,但我也不确定问题可能出在哪里,因为根据其github repo ,sexpdata 自 6 月以来就没有改变。
\n有什么指示可能会发生什么或要注意什么吗?
\nCollecting sexpdata>=0.0.3 (from epc)\n Using cached sexpdata-1.0.1.tar.gz (8.6 kB)\n Installing build dependencies ... done\n Getting requirements to build wheel ... error\n error: subprocess-exited-with-error\n \n \xc3\x97 Getting requirements to build wheel did not run successfully.\n \xe2\x94\x82 exit code: 1\n \xe2\x95\xb0\xe2\x94\x80> [71 lines of output]\n /tmp/pip-build-env-ga37r2a6/overlay/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.\n !!\n …Run Code Online (Sandbox Code Playgroud) 按照本指南https://clickhouse.com/docs/knowledgebase/mysql-to-parquet-csv-json我已从 MySQL 服务器将一些表导出到镶木地板。
但我无法使用 DuckDB 读取这些镶木地板文件。
我可以检查结构:
DESCRIBE SELECT * FROM 'mytable.parquet';
Run Code Online (Sandbox Code Playgroud)
但如果我尝试阅读:
select ID from mytable.parquet;
Error: Invalid Error: Unsupported compression codec "7". Supported options are uncompressed, gzip, snappy or zstd
Run Code Online (Sandbox Code Playgroud)
我猜想 clickhouse 正在编写 LZ4 压缩的 parquet 文件,而 duckdb 不支持它们。我可以更改 clickhouse-local 中的压缩格式吗?
我想绘制残差及其一阶滞后的散点图,即绘制 $(e_{t-1},e_{t})$ ,以及在Stata中添加最小二乘线。我的小演示来自Example 2.3 The U.S. Gasoline Market《计量经济学分析》(7e,William H. Greene),其中显示
use http://web.pdx.edu/~crkl/ec570/data/gasoline
describe
summarize
generate g=ln(gasexp/pop)
generate y=ln(income/pop)
generate pg=ln(gasp)
generate pnew=ln(pnc)
generate pused=ln(puc)
tsset year
regress g y pg pnew pused
predict e, residual
twoway scatter e l.e || lfit e l.e
Run Code Online (Sandbox Code Playgroud)
其中l.e表示残差 上的(一阶)滞后算子e,相关数字由下式给出
我想用R重现该图,我尝试
use http://web.pdx.edu/~crkl/ec570/data/gasoline
describe
summarize
generate g=ln(gasexp/pop)
generate y=ln(income/pop)
generate pg=ln(gasp)
generate pnew=ln(pnc)
generate pused=ln(puc)
tsset year
regress g y pg pnew pused
predict …Run Code Online (Sandbox Code Playgroud) 简短的摘要:
当设备插入时,Chrome DevTools无法检测到我的设备(Google Pixel 7 Pro)。有趣的是,当我断开设备与电缆的连接时,设备会被识别。发生这种情况时,我可以在短时间内(5 秒)看到在我的设备上的浏览器中打开的页面,然后它们就会消失。当然,在这种情况下,页面不是交互式的,因此如果您在“检查”选项消失之前单击“检查”选项,则不会发生任何情况。
一些有用的信息:
adb devices命令时,我的设备被识别(并且它不处于离线模式)
有任何想法吗?
我正在尝试加载 csv 数据来测试我编写的一些 kdb+ q 函数。将数据加载到表并将一行翻转到字典中后,引用的数据中出现意外的逗号。
我创建了一个非常简单的 csv 文件,名为 testdata.txt:
a,b,c,d,e,f,g
1,2,3,4,5,6,7
10,11,12,13,14,15,16
Run Code Online (Sandbox Code Playgroud)
我像这样加载 csv:
td: ("JJJJJJJ";1#",") 0: `:data/testdata.txt
Run Code Online (Sandbox Code Playgroud)
结果:
a b c d e f g
--------------------
1 2 3 4 5 6 7
10 11 12 13 14 15 16
Run Code Online (Sandbox Code Playgroud)
然后我提取一行并将其翻转到字典中:
tdic: flip 1#td
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好:
a| 1
b| 2
c| 3
d| 4
e| 5
f| 6
g| 7
Run Code Online (Sandbox Code Playgroud)
然后我尝试引用字典中的一项,并且在该值之前有一个逗号。
q)tdic `a
,1
Run Code Online (Sandbox Code Playgroud)
由于逗号,我的数据无法用于任何测试目的,至少如果我将其翻转到字典中。我很确定我做错了什么,因为我没有在任何地方看到这个问题的记录。
我的目标是获取通过省略号传递的附加参数...(请参阅?dots参考资料 获取更多信息),并使用已设置的参数构建一个新的通用函数,并将其传递给另一个函数。
例如,给定两个函数:
foo <- function(v, FUN, ...) {
## code here to build NEWFUN
SomeFun(v, NEWFUN)
}
bar <- function(v, FUN) {
SomeFun(v, FUN)
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在以下位置执行此操作foo:
bar(x, FUN = \(x) paste(x, collapse = ", "))
Run Code Online (Sandbox Code Playgroud)
通过调用foo(x, paste, collapse = ", ").
我们从一个简单的函数开始,它采用一个基R函数(此处paste)并将其应用于向量。请注意,我试图使其尽可能简单,因此我删除了健全性检查。另外,我写这个只是为了用基本R函数来演示paste。
FunAssign <- function(f, x) f(x)
Run Code Online (Sandbox Code Playgroud)
这是我天真的尝试:
foo <- function(v, FUN, ...) {
FUN <- \(x) FUN(x, ...)
FunAssign(FUN, v)
} …Run Code Online (Sandbox Code Playgroud) 这是 Rust 代码的一小段,我试图用它来理解 Rust 引用和取消引用:
fn main() {
let mut i: i32 = 1;
println!("i in main: {}", i);
increment(&mut i);
println!("i in main: {}", i);
let mut a = String::from("ABCD");
println!("a in main: {}", a);
addchr(&mut a);
println!("a in main: {}", a);
}
pub fn increment(i: &mut i32) {
*i += 1;
println!("i in increment: {}", *i);
}
pub fn addchr(s: &mut String) {
s.push('a');
println!("a in addchr: {}", s);
}
Run Code Online (Sandbox Code Playgroud)
在整数的情况下,接收引用的函数需要取消引用它(*i),但在字符串的情况下则不需要(取消引用似乎是“自动”)。
是什么造成了这种差异?是否只是关于内存分配的位置(堆栈或堆)?
假设我有以下数据框:
df <- data.frame(id= c(1, 1, 2, 1, 2), error_1 = c(0, 0, 0, 1, 0), error_2 = c(1, 0, 0, 0, 0), error_3 = c(1, 0, 0, 1, 1))
> df
id error_1 error_2 error_3
1 1 0 1 1
2 1 0 0 0
3 2 0 0 0
4 1 1 0 1
5 2 0 0 1
Run Code Online (Sandbox Code Playgroud)
我想以某种方式“折叠”它,这样具有相同 ID 的记录将被连接到一行中,无论是否发生该特定类型的错误(而不是发生该错误的次数),该行都会显示“1”这样做了):
> df_result
id error_1 error_2 error_3
1 1 1 1
2 0 0 1
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?
r ×3
python ×2
android ×1
clickhouse ×1
csv ×1
dataframe ×1
dictionary ×1
duckdb ×1
ellipsis ×1
function ×1
google-pixel ×1
kdb ×1
parameters ×1
pip ×1
postgresql ×1
python-3.x ×1
rust ×1
stata ×1