我想计算给定列中的运行总和(当然不使用循环).需要注意的是,我有另一列指定何时将运行总和重置为该行中存在的值.最佳解释如下:
reset val desired_col
0 0 1 1
1 0 5 6
2 0 4 10
3 1 2 2
4 1 -1 -1
5 0 6 5
6 0 4 9
7 1 2 2
Run Code Online (Sandbox Code Playgroud)
desired_col 是我想要计算的值.
我觉得这个问题以前一定是有人回答的,但我找不到堆栈溢出的答案!
我有一个result看起来像这样的数据框,我想删除所有小于或等于 10 的值
>>> result
Name Value Date
189 Sall 19.0 11/14/15
191 Sam 10.0 11/14/15
192 Richard 21.0 11/14/15
193 Ingrid 4.0 11/14/15
Run Code Online (Sandbox Code Playgroud)
此命令有效并删除10的所有值:
df2 = result[result['Value'] != 10]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试添加<=限定符时,我收到错误消息 SyntaxError: invalid syntax
df3 = result[result['Value'] ! <= 10]
Run Code Online (Sandbox Code Playgroud)
我觉得可能有一个非常简单的解决方案.提前致谢!
我有一个像这样的多级列表:
a
---+---+---
b | c | f
--+---+---+---
0 | 1 | 2 | 7
1 | 3 | 4 | 9
Run Code Online (Sandbox Code Playgroud)
如何按名称删除列"c"?看起来像这样:
a
---+---
b | f
--+---+---
0 | 1 | 7
1 | 3 | 9
Run Code Online (Sandbox Code Playgroud)
我试过这个:
del df['c']
Run Code Online (Sandbox Code Playgroud)
但我得到以下错误,这是有道理的:
KeyError:'密钥长度(1)大于MultiIndex lexsort depth(0)'
如何使用apply或相关函数创建一个新数据框,其中包含非常大的数据框中每对列的行平均值的结果?
我有一台仪器可以n在大量样品上输出重复测量值,其中每个测量值都是一个矢量(所有测量值都是相同的长度矢量).我想计算每个样本的所有重复测量的平均值(和其他统计数据).这意味着我需要将n连续的列组合在一起并进行逐行计算.
对于一个简单的例子,对两个样品三次重复测量,我怎样才能最终使用具有两列(每采样1)的数据帧,一个是平均在重复的每一行dat$a,dat$b并且dat$c,另一个是每行的平均值dat$d,dat$e和dat$f.
这是一些示例数据
dat <- data.frame( a = rnorm(16), b = rnorm(16), c = rnorm(16), d = rnorm(16), e = rnorm(16), f = rnorm(16))
a b c d e f
1 -0.9089594 -0.8144765 0.872691548 0.4051094 -0.09705234 -1.5100709
2 0.7993102 0.3243804 0.394560355 0.6646588 0.91033497 2.2504104
3 0.2963102 -0.2911078 -0.243723116 1.0661698 -0.89747522 -0.8455833
4 -0.4311512 -0.5997466 -0.545381175 0.3495578 0.38359390 0.4999425
5 -0.4955802 1.8949285 …Run Code Online (Sandbox Code Playgroud) 我必须建立一个包含5列的表.表格宽度可变(内容宽度的50%).有些列包含固定大小的按钮,因此这些列应该具有固定的,例如100px.有些列中包含文本,因此我希望这些列具有可变的列宽.
例如:
Column1:20%(tablewidth - sum(fixedwidth_columns))'
第2列:100px
Column3:40%(tablewidth - sum(fixedwidth_columns))
第4列:200px
第5列:40%(tablewidth - sum(fixedwidth_columns))
实现这一目标的最佳方法是什么?
刚刚发现今天的flex,我希望它能解决一个小的视觉挑战.
我有一个按字母顺序排序的项目列表.它们都具有相同的宽度,到目前为止,我已将它们向左浮动.当水平空间用完时,这会导致从左到右的顺序.
我希望做的是使用可用宽度尽可能多的列进行自上而下排序.看到此列表是动态的,高度将是可变的.并且当水平空间丢失(调整大小)时,高度必须增加,以防止尽可能多的列.
鉴于flex试图完成的明显性质,我认为这将得到支持,但到目前为止,我无法弄明白."display:flex"和"flex-flow:column wrap"似乎是正确的,但它需要一个特定的高度才能工作,这是我无法提供的.
我错过了什么吗?
编辑:我已经在这里创建了一个JSFiddle:https://jsfiddle.net/7ae3xz2x/
ul {
display: flex;
flex-flow: column wrap;
height: 100px;
}
ul li {
width: 150px;
list-style-type: none;
border: 1px solid black;
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
如果你从ul上取下高度,没有任何东西包裹.
似乎概念问题是"列"流程都与容器的高度相关而不是宽度,这就是我想要的.我不在乎这个区域有多高.我关心在可用宽度上尽可能多的列.也许这只是flex惯例的一个恼人的缺点.
我有一个由列表列表建模的python中的2D数组,我想提取列.我做了一个快速的研究,我发现了一种使用numpy数组的方法.问题是我不想使用numpy所以我不想将我的列表列表转换为numpy数组,然后使用[:,1]语法.我尝试在正常的列表列表中使用它,但它显示错误,所以它不可能.我要求列表列表类似的东西,而不必遍历每个元素(在numpy数组中,使用[:,1]语法比迭代数组元素更快地访问列).
我发现了这个链接,但它再次建议在没有快捷方式的情况下迭代元素.
提前致谢.
我为图片库创建了一个CSS3多列布局,在Firefox上看起来不错.
<section id="featured">
<article>
<img src="http://sheepy.me/incoming/images/posts/blog/thumb_tim-burton-pokemans.png" />
</article>
<article>
<img src="http://sheepy.me/incoming/images/posts/blog/thumb_hem-tourniquet.png" />
</article>
<article>
<img src="http://sheepy.me/incoming/images/posts/blog/thumb_hem-tourniquet.png" />
</article>
<article>
<img src="http://sheepy.me/incoming/images/posts/blog/thumb_tim-burton-pokemans.png" />
</article>
<article>
<img src="http://sheepy.me/incoming/images/posts/blog/thumb_tim-burton-pokemans.png" />
</article>
Run Code Online (Sandbox Code Playgroud)
css:
#featured {
width: 730px;
padding: 20px;
-webkit-column-count: 2;
-webkit-column-gap: 10px;
-webkit-column-fill: balance;
-moz-column-count: 2;
-moz-column-gap: 10px;
-moz-column-fill: balance;
column-count: 2;
column-gap: 10px;
column-fill: balance;
background: #7d90a5;
}
article {
width: 300px;
display: block;
background: #344252;
-webkit-column-break-inside: avoid;
-moz-column-break-inside: avoid;
column-break-inside: avoid;
padding: 10px;
width: 335px;
margin-bottom: 20px;
}
article img{ …Run Code Online (Sandbox Code Playgroud) 我有一个巨大的DataFrame,有些列有相同的名称.当我尝试选择一个存在两次的列时(例如del df['col name'] 或df2=df['col name'])我得到一个错误.我能做什么?
我可以通过定义用户函数然后使用apply在Panda中添加一个新列.但是,我想用lambda做到这一点; 有办法吗?
例如,df有两列a和b.我想创建一个新列c,它等于a和之间的最长长度b.
就像是:
df['c'] = df.apply(lambda x, len(df['a']) if len(df['a']) > len(df['b']) or len(df['b']) )
Run Code Online (Sandbox Code Playgroud)
一种方法:
df = pd.DataFrame({'a':['dfg','f','fff','fgrf','fghj'], 'b' : ['sd','dfg','edr','df','fghjky']})
df['c'] = df.apply(lambda x: max([len(x) for x in [df['a'], df['b']]]))
print df
a b c
0 dfg sd NaN
1 f dfg NaN
2 fff edr NaN
3 fgrf df NaN
4 fghj fghjky NaN
Run Code Online (Sandbox Code Playgroud) multiple-columns ×10
pandas ×5
python ×5
dataframe ×4
css ×3
html ×2
apply ×1
arrays ×1
css3 ×1
cumsum ×1
duplicates ×1
flexbox ×1
html-table ×1
lambda ×1
multi-level ×1
numpy ×1
r ×1
row ×1
webkit ×1