我有一只DataFrame
熊猫:
import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df
Run Code Online (Sandbox Code Playgroud)
输出:
c1 c2
0 10 100
1 11 110
2 12 120
Run Code Online (Sandbox Code Playgroud)
现在我想迭代这个帧的行.对于每一行,我希望能够通过列的名称访问其元素(单元格中的值).例如:
for row in df.rows:
print row['c1'], row['c2']
Run Code Online (Sandbox Code Playgroud)
是否有可能在熊猫中做到这一点?
我发现了类似的问题.但它没有给我我需要的答案.例如,建议使用:
for date, row in df.T.iteritems():
Run Code Online (Sandbox Code Playgroud)
要么
for row in df.iterrows():
Run Code Online (Sandbox Code Playgroud)
但我不明白row
对象是什么以及如何使用它.
我有一个数据帧,对于该数据帧中的每一行,我必须进行一些复杂的查找并将一些数据附加到文件中.
dataFrame包含用于生物研究的96孔板中选定孔的科学结果,因此我想做类似的事情:
for (well in dataFrame) {
wellName <- well$name # string like "H1"
plateName <- well$plate # string like "plate67"
wellID <- getWellID(wellName, plateName)
cat(paste(wellID, well$value1, well$value2, sep=","), file=outputFile)
}
Run Code Online (Sandbox Code Playgroud)
在我的程序世界中,我会做类似的事情:
for (row in dataFrame) {
#look up stuff using data from the row
#write stuff to the file
}
Run Code Online (Sandbox Code Playgroud)
这样做的"R方式"是什么?
我有以下2个data.frames:
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
Run Code Online (Sandbox Code Playgroud)
我想找到a1没有的行a1.
这种类型的操作是否有内置功能?
(ps:我确实为它编写了一个解决方案,如果有人已经制作了更加精心设计的代码,我感到很好奇)
这是我的解决方案:
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
rows.in.a1.that.are.not.in.a2 <- function(a1,a2)
{
a1.vec <- apply(a1, 1, paste, collapse = "")
a2.vec <- apply(a2, 1, paste, collapse = "")
a1.without.a2.rows <- a1[!a1.vec %in% a2.vec,]
return(a1.without.a2.rows)
}
rows.in.a1.that.are.not.in.a2(a1,a2)
Run Code Online (Sandbox Code Playgroud) 如何将行添加到numpy数组?
我有一个数组A:
A = array([[0, 1, 2], [0, 2, 0]])
Run Code Online (Sandbox Code Playgroud)
如果X中每行的第一个元素满足特定条件,我希望从另一个数组X向此数组添加行.
Numpy数组没有像列表那样的"附加"方法,或者看起来如此.
如果A和X是列表,我只会这样做:
for i in X:
if i[0] < 3:
A.append(i)
Run Code Online (Sandbox Code Playgroud)
是否有一种相似的方式?
谢谢,S ;-)
我查看了StackOverflow,但我找不到特定于我的问题的解决方案,这涉及将行附加到R数据帧.
我正在初始化一个空的2列数据帧,如下所示.
df = data.frame(x = numeric(), y = character())
Run Code Online (Sandbox Code Playgroud)
然后,我的目标是迭代一个值列表,并在每次迭代中,将值附加到列表的末尾.我从以下代码开始.
for (i in 1:10) {
df$x = rbind(df$x, i)
df$y = rbind(df$y, toString(i))
}
Run Code Online (Sandbox Code Playgroud)
我也试图功能c
,append
以及merge
没有成功.如果您有任何建议,请告诉我.
我想每次都重复data.frame的行N
.结果应该是一个新的data.frame
(with nrow(new.df) == nrow(old.df) * N
)保持列的数据类型.
N = 2的示例:
A B C
A B C 1 j i 100
1 j i 100 --> 2 j i 100
2 K P 101 3 K P 101
4 K P 101
Run Code Online (Sandbox Code Playgroud)
因此,每行重复2次,字符仍然是字符,因素仍然是因素,数字仍然是数字,...
我的第一次尝试使用了:apply(old.df, 2, function(co) rep(co, each = N))
,但是这个将我的值转换为字符,我得到:
A B C
[1,] "j" "i" "100"
[2,] "j" "i" "100"
[3,] "K" "P" "101"
[4,] "K" "P" "101"
Run Code Online (Sandbox Code Playgroud) 有没有办法从命令行中抑制SQLCMD中的"x行受影响"?
我正在运行一个MSBuild脚本,并不希望它阻塞我的构建服务器上的日志.
我宁愿不必在每个脚本中添加"SET NOCOUNT ON",所以如果有办法从命令行执行,那就太棒了.
如果我发出SELECT username FROM Users
我得到这个结果:
username -------- Paul John Mary
但我真正需要的是一个行与所有以逗号分隔值,如下所示:
Paul, John, Mary
我该怎么做呢?
我正在尝试向表中添加行tbody
.但我遇到了实现这个问题的问题.首先,从html页面更改下拉列表时调用发生所有事情的功能.我创建了一个tr
包含所有td
内部的字符串,其中包含html元素,文本和其他内容.但是当我尝试使用以下方法将生成的行添加到表中时:
$(newRowContent).appendTo("#tblEntAttributes tbody");
Run Code Online (Sandbox Code Playgroud)
我遇到了一个错误.表的名称是tblEntAttributes
,我正在尝试将其添加到tbody
.
实际上正在发生的事情是jQuery无法tblEntAttributes
作为一个HTML元素.但是我可以使用它来访问它documemt.getElementById("tblEntAttributes");
有没有什么办法可以通过向tbody
表中添加行来实现这一点.也许绕道或其他东西.
这是整个代码:
var newRowContent = "<tr><td><input type=\"checkbox\" id=\"" + chkboxId + "\" value=\"" + chkboxValue + "\"></td><td>" + displayName + "</td><td>" + logicalName + "</td><td>" + dataType + "</td><td><input type=\"checkbox\" id=\"chkAllPrimaryAttrs\" name=\"chkAllPrimaryAttrs\" value=\"chkAllPrimaryAttrs\"></td><td><input type=\"checkbox\" id=\"chkAllPrimaryAttrs\" name=\"chkAllPrimaryAttrs\" value=\"chkAllPrimaryAttrs\"></td></tr>";
$("#tblEntAttributes tbody").append(newRowContent);
Run Code Online (Sandbox Code Playgroud)
我忘记提到的一件事是编写此代码的函数实际上是ajax调用的成功回调函数.我能够访问该表使用document.getElementById("tblEntAttributes")
但由于某种原因$(#tblEntAttributes)
似乎不起作用.
我有麻烦让我<input type="textarea" />
有超过1排,
我尝试在html中添加属性,就像你使用这样的常规<textarea></textarea>
一样:<input type="textarea" rows="x" cols="x" />
我甚至试图在CSS中做到这一点,但它没有用.我在互联网上搜索了一个解决方案,但我似乎找不到任何关于我确切问题的话题.
我正在经历的textareas,在这个网站上: Vilduhelst
当您按下"Lav dit eget dilemma"按钮时,它们将出现.
我正在寻找HTML或CSS解决方案.