我有一张这样的表:
a | user_id
----------+-------------
0.1133 | 2312882332
4.3293 | 7876123213
3.1133 | 2312332332
1.3293 | 7876543213
0.0033 | 2312222332
5.3293 | 5344343213
3.2133 | 4122331112
2.3293 | 9999942333
Run Code Online (Sandbox Code Playgroud)
我想找到一个特定的行 -1.3293 | 7876543213例如 - 并选择最近的 4 行。上面 2 个,如果可能的话,下面 2 个。
排序顺序是 ORDER BY a ASC。
在这种情况下,我将得到:
0.0033 | 2312222332
0.1133 | 2312882332
2.3293 | 9999942333
3.1133 | 2312332332
Run Code Online (Sandbox Code Playgroud)
如何使用 PostgreSQL 实现这一目标?(顺便说一句,我正在使用 PHP。)
PS:对于最后一行或第一行,最近的行将是上面 4 行或下面 4 行。
我有一个大矩阵,其中前 4 行和列如下所示:
BI00R1 BI00R2 BI00R3 BI08R1
c51581_g1_i1 0.00 0.00 0.00 0.00
c19380_g1_i1 0.00 0.00 0.00 0.00
c71266_g2_i1 0.00 0.00 0.00 0.00
c70836_g2_i9 572.19 513.89 424.49 760.92
Run Code Online (Sandbox Code Playgroud)
我怎样才能提取一行,比如说,'c19380_g1_i1'从矩阵开始的那一行?可能是微不足道的,我仍然很感激你的帮助。
我正在尝试转换以下数据框(包含县和年份的值)
county region 2012 2013 ... 2035
A 101 10 15 ... 7
B 101 13 8 ... 11
...
Run Code Online (Sandbox Code Playgroud)
进入如下所示的数据框:
county region year sum
A 101 2012 10
A 101 2013 15
... ... ... ...
A 101 2035 7
B 101 2012 13
B 101 2013 8
B 101 2035 11
Run Code Online (Sandbox Code Playgroud)
我当前的数据框有 400 行(不同县),其中包含 2012-2035 年的值。
我的手动方法是将年份列切掉,并将它们放在上一年的最后一行下方。但当然必须有一种Python式的方式。
我想我在这里缺少一个基本的 pandas 概念,可能我只是找不到这个问题的正确答案,因为我根本不知道如何提出正确的问题。请对新人温柔一点。
我data.frame在植物中种植了大量鲜花和水果,进行了 30 年的调查。我想在某些行中添加零 (0),这些行代表植物没有flowers或fruits(因为它是季节性物种)的特定月份中的个体。
例子:
Year Month Flowers Fruits
2004 6 25 2
2004 7 48 4
2005 7 20 1
2005 8 16 1
Run Code Online (Sandbox Code Playgroud)
我想添加不包含在零值中的月份,所以我想在一个函数中识别缺失的月份并用 0 填充它们。
谢谢。
我有一个不同行大小的 numpy 数组
a = np.array([[1,2,3,4,5],[1,2,3],[1]])
Run Code Online (Sandbox Code Playgroud)
我想把它变成一个密集的(固定的 nxm 大小,没有可变的行)矩阵。直到现在我尝试过这样的事情
size = (len(a),5)
result = np.zeros(size)
result[[0],[len(a[0])]]=a[0]
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误告诉我
形状不匹配:形状 (5,) 的值数组无法广播到形状 (1,) 的索引结果
我也尝试使用 np.pad 进行填充,但根据 numpy.pad 的文档,似乎我需要在 pad_width 中指定行的先前大小(这是可变的,并在尝试使用 -1,0 时产生错误) , 和最大的行大小)。
我知道我可以像这里显示的那样为每行填充填充列表,但是我需要使用更大的数据数组来做到这一点。
如果有人可以帮助我回答这个问题,我会很高兴知道。
我无法解决以下有关(通过限制列数简化)数据框“注释”的问题。
require(irr)
# data
annotations <- read.table(text = "Obj1 Obj2 Obj3
Rater1 a b c
Rater2 a b b
Rater3 a b c", header = TRUE, stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)
我想将 irr 包中的一致函数应用到行的所有组合(而不是排列),从而产生以下结果。
Agreement rater 1-2: 67%
Agreement rater 1-3: 100%
Agreement rater 2-3: 67%
Run Code Online (Sandbox Code Playgroud)
我需要对所有行组合运行一个函数,并且该函数需要访问多个/所有列。
我已经找出了问题的部分答案;我已经生成了一个正在运行的组合列表combn(rownames(annotations), 2),但我不知道如何在不编写低效的 for 循环的情况下使用该列表。
我尝试过应用,如 中所示apply(annotations, 1, agree),但我只能让它在一行上工作,而不是前面提到的组合。
有人知道如何继续吗?
更新:根据您的建议,以下解决方案有效。(我使用了kappa2irr 包而不是agree,但主要问题的解决方案保持不变。)
require(irr) #require the irr library for agreement calculations
annotations <- read.table(text = "Obj1 Obj2 Obj3
Rater1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试提出一个可以迭代窗口数量的公式。应该window随着 的变化而增加binary。理想情况下是这样的。给定列id和binary,window应随着值在binary0 和 1 之间变化而递增。
像这样的东西:
有没有公式可以解决这个问题,或者VBA可以解决这个问题?
我有一个包含多个重复实例的数据框,按日期排序。它看起来像这样:
我正在尝试按日期合并行以匹配“关键字”,并对“视图”计数求和。
我希望获得的结果如下:
谁能提示我如何在 Python 中实现这一目标?谢谢你。
数据框:
df = pd.DataFrame([["3/8/14", "adapter", 2], ["3/8/14", "adapter", 5], ["3/8/14", "charger", 1],
["13/8/14", "adapter", 1], ["13/8/14", "battery-case", 0]],
columns=['Date', 'Keyword', 'Views'])
Run Code Online (Sandbox Code Playgroud) Title: This is parsed file
Job: Proj Doom
Flow,Value
102,2
103,3
104,4
105,5
106,6
Run Code Online (Sandbox Code Playgroud)
我是新来的 D3。如果我采用上面的 csv 并删除标题上方的所有内容,我的 d3 图工作正常。csv 是在测试后生成的,我无法遍历每个文件并在加载到 D3 图形之前删除标题上方的行。我想获取这个文件并在不修改它的情况下对其进行可视化。
所以,我唯一的问题是如何过滤掉前 5 行。在所有生成的 *.csv 中,标题上方的行数相同,内容可能会发生变化。
内可以做d3.csv("myCsv", type, function(){});吗?还是需要先用js来做?我正在使用 d3 v4。
这不是问题的重复,例如Row-wise iteration like apply with purrr
我了解如何使用pmap()对数据框进行逐行操作:
library(tidyverse)
df1 = tribble(~col_1, ~col_2, ~col_3,
1, 5, 12,
9, 3, 3,
6, 10, 7)
foo = function(col_1, col_2, col_3) {
mean(c(col_1, col_2, col_3))
}
df1 %>% pmap_dbl(foo)
Run Code Online (Sandbox Code Playgroud)
foo这给出了应用于每一行的函数:
[1] 6.000000 5.000000 7.666667
Run Code Online (Sandbox Code Playgroud)
但是,当我有多个列时,这会变得非常笨拙,因为我必须显式地将它们全部传递。如果我说,我的数据框中有 8 列df2,并且我想应用一个bar可能涉及其中每一列的函数,该怎么办?
set.seed(12345)
df2 = rnorm(n=24) %>% matrix(nrow=3) %>% as_tibble() %>%
setNames(c("col_1", "col_2", "col_3", "col_4", "col_5", "col_6", "col_7", "col_8"))
bar = function(col_1, col_2, col_3, col_4, col_5, col_6, col_7, col_8) {
# …Run Code Online (Sandbox Code Playgroud) rows ×10
r ×4
dataframe ×3
python ×3
arrays ×1
combinations ×1
conditional ×1
csv ×1
d3.js ×1
excel ×1
extract ×1
function ×1
javascript ×1
matrix ×1
merge ×1
numpy ×1
padding ×1
pandas ×1
pmap ×1
postgresql ×1
purrr ×1
rbind ×1
selection ×1
sql-order-by ×1
vba ×1