对不起凌乱的标题,我不知道如何很好地表达这个问题.
假设我有一张桌子,其中前三列是foo bar和baz.然后有一些任意列.我想操纵表格,使这些任意列全部折叠在列上,称为num.
一个例子使这更清楚
foo, bar, baz, 100, 101, 102, 103, 104,
1, 1, 1, 10, 11, 12, 13, 14,
1, 1, 2, 15, 16, 17, 18, 19,
1, 2, 1, 20, 21, 22, 23, 24,
Run Code Online (Sandbox Code Playgroud)
此输入应转置为:
num, foo, bar, baz, value,
100, 1, 1, 1, 10,
100, 1, 1, 2, 15,
100, 1, 2, 1, 20,
101, 1, 1, 1, 11,
101, 1, 1, 2, 16,
101, 1, 2, 1, 21,
102, 1, 1, 1, 12,
102, 1, 1, …Run Code Online (Sandbox Code Playgroud) 考虑一下,dataframe d:
d = pd.DataFrame({'a': [0, 2, 1, 1, 1, 1, 1],
'b': [2, 1, 0, 1, 0, 0, 2],
'c': [1, 0, 2, 1, 0, 2, 2]}
> a b c
0 0 2 1
1 2 1 0
2 1 0 2
3 1 1 1
4 1 0 0
5 1 0 2
6 1 2 2
Run Code Online (Sandbox Code Playgroud)
我想按列将它拆分a成字典:
{0: a b c
0 0 2 1,
1: a b c
2 1 0 2 …Run Code Online (Sandbox Code Playgroud) 在这里 有人说:
“即使你每次都从不同的追随者那里读到数据,在看到第 4 版之后,你永远也看不到第 3 版的数据。”
因此,如果我有 3 个节点 zookeeper 仲裁,如下所示:
zk0 -- leader
zk1
zk2
Run Code Online (Sandbox Code Playgroud)
假设仲裁“3”中有一个值并且我有一个客户端连接到zk1,然后我的客户端发送一个写入请求(将“3”更新为“4”)并且zk0(领导者)写入该值然后随后收到来自zk1. 我的客户可以看到新的(“4”),因为它连接到zk1.
现在我的问题是,如果我将我的客户从 切换zk1到zk2(领导者没有收到来自 的写确认zk2,所以zk2在法定人数之后)我会看到该值是“3”而不是“4”。它会破坏顺序一致性吗?
我正在工作中构建动态 sql 生成器,并且在联合查询方面遇到困难。当我运行以下查询时:
SELECT NULL AS field;
Run Code Online (Sandbox Code Playgroud)
列类型是BOOL默认的,它可以用于与整数类型列的联合,如下所示:
SELECT field
FROM
(SELECT 21 AS field),
(SELECT NULL AS field)
Run Code Online (Sandbox Code Playgroud)
这将返回成功的结果。但是当我在一个子查询上使用字符串类型运行类似的查询时,它失败了这里是查询失败,无法联合表:不兼容的类型。“字段”:字符串“字段”:BOOL:
SELECT field
FROM
(SELECT 'hello' AS field),
(SELECT NULL AS field)
Run Code Online (Sandbox Code Playgroud)
推断类型和转换空值的最佳方法是什么。我的 sql 生成器应该可以在 union 上使用多种数据类型,我认为 null 可以用于所有类型。如果 null 不能与字符串和其他一些类型一起使用,是否有任何“超级”类型可用于替换空字段?
pandas ×2
python ×2
consistency ×1
dataframe ×1
dictionary ×1
python-3.x ×1
sql ×1
sqldatatypes ×1