我有一个pandas DataFrame,其布尔列按另一列排序,需要计算布尔列的反向累积和,即从当前行到底部的真值.
例
In [13]: df = pd.DataFrame({'A': [True] * 3 + [False] * 5, 'B': np.random.rand(8) })
In [15]: df = df.sort_values('B')
In [16]: df
Out[16]:
A B
6 False 0.037710
2 True 0.315414
4 False 0.332480
7 False 0.445505
3 False 0.580156
1 True 0.741551
5 False 0.796944
0 True 0.817563
Run Code Online (Sandbox Code Playgroud)
我需要的东西会给我一个带有值的新列
3
3
2
2
2
2
1
1
Run Code Online (Sandbox Code Playgroud)
也就是说,对于每一行,它应包含此行和下面行的True值.
我尝试了各种方法,.iloc[::-1]但结果不是所希望的.
想想,我错过了一件明显的事情.我昨天才开始使用熊猫.
给定一个形成单词句子的字符数组,给出一个有效的算法来反转其中单词(而不是字符)的顺序.
示例输入和输出:
>>> reverse_words("this is a string")
'string a is this'
Run Code Online (Sandbox Code Playgroud)
它应该是O(N)时间和O(1)空间(split()并且不允许推入/弹出堆栈).
这个难题来自这里.
如何在不使用Array.Reverse()方法的情况下反转数组(在C#中)?
例如,
int[] arr = {1,3,4,9,8};
// some code here
Console.WriteLine(string.Join(",", arr));
Run Code Online (Sandbox Code Playgroud)
应该导致
8,9,4,3,1
Run Code Online (Sandbox Code Playgroud)
我把这作为面试任务.
什么通常被认为更Pythonic /更好/更快使用,反向方法或反向内置功能?
两者都在行动:
_list = list(xrange(4))
print _list
rlist = list(reversed(_list))
print rlist
_list.reverse()
print _list
Run Code Online (Sandbox Code Playgroud) 如何按文件名反转排序?目前它按字母/数字顺序显示所有文本文件,但我试图让它以降序显示.现在,我有......
<?php
foreach (glob("*.txt") as $filename) {
include($filename);
}
?>
Run Code Online (Sandbox Code Playgroud)
我是PHP的新手,但是我尝试使用添加的数组,但只是导致它只显示了一个文本文件,所以要么不起作用,要么我编写错了.
可能重复:
以相反的顺序迭代LinkedHashMap
如何以相反的顺序遍历链接的哈希映射?地图中是否有任何预定义方法可以做到这一点?
我正在创建它如下:
LinkedHashMap<Integer, String> map = new LinkedHashMap<Integer,String>();
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
Run Code Online (Sandbox Code Playgroud) 我有一个自定义segue动画,当将新的视图控制器推入堆栈时发生.然而,当弹出与所述自定义segue一起呈现的视图控制器时,默认导航控制器动画发生(即,当父视图控制器从左边缘在屏幕上翻译时,当前视图控制器向右动画).
所以我的问题是:有没有办法编写一个自定义的pop segue动画,当从视图控制器弹出堆栈时会发生这种情况?
编辑(解决方案):
我最终定义了一个类似于所选答案的自定义segue.在Storyboard中,我将一个自定义segue从子视图控制器拖回到它的父级,给它一个标识符,新写的反向segue作为它的类.是的,我意识到它几乎与模态转换相同.客户要求需要这种疯狂,所以在任何人发表评论之前,要明白我知道在正常情况下不应该这样做.
- (void)perform {
UIViewController *src = (UIViewController *)self.sourceViewController;
UIViewController *dest = (UIViewController *)self.destinationViewController;
[UIView animateWithDuration:0.3 animations:^{
CGRect f = src.view.frame;
f.origin.y = f.size.height;
src.view.frame = f;
} completion:^(BOOL finished){
src.view.alpha = 0;
[src.navigationController popViewControllerAnimated:NO];
}];
}
Run Code Online (Sandbox Code Playgroud) 在Perl 文档中reverse我找到了这个:
"请注意,将数组反转为自身(如@a = reverse @a)将尽可能保留不存在的元素;即,对于非魔法数组或使用EXISTS和DELETE方法的绑定数组."
什么属性区分魔法阵列和非魔法阵列?
在对这个问题的答案的评论中暗示PHP无法反转Unicode字符串.
至于Unicode,它适用于PHP,因为大多数应用程序将其处理为二进制.是的,PHP是8位干净的.在PHP中尝试相当于这个:perl -Mutf8 -e'print scalar reverse("ほげほげ")'你会得到垃圾,而不是"げほげほ". - jrockway
不幸的是,PHPs unicode支持atm最好是"缺乏".这将有望与PHP6彻底改变.
PHP的MultiByte函数确实提供了处理unicode所需的基本功能,但它不一致并且缺少很多功能.其中一个是反转字符串的函数.
我当然想要反驳这个文本,没有其他原因,然后弄清楚它是否可能.我做了一个函数来完成这个巨大的复杂任务来反转这个Unicode文本,所以你可以放松一点直到PHP6.
测试代码:
$enc = 'UTF-8';
$text = "????";
$defaultEnc = mb_internal_encoding();
echo "Showing results with encoding $defaultEnc.\n\n";
$revNormal = strrev($text);
$revInt = mb_strrev($text);
$revEnc = mb_strrev($text, $enc);
echo "Original text is: $text .\n";
echo "Normal strrev output: " . $revNormal . ".\n";
echo "mb_strrev without encoding output: $revInt.\n";
echo "mb_strrev with encoding $enc output: $revEnc.\n";
if (mb_internal_encoding($enc)) {
echo "\nSetting internal …Run Code Online (Sandbox Code Playgroud) 我没有找到任何具有我的功能的具体需求来做这件事,是的,这是为了做作业.
所以我有:
public void reverseArray(int[] x) {
}
Run Code Online (Sandbox Code Playgroud)
前提条件:x.length> 0
事实上,我不能让函数返回任何东西,唯一的参数是数组让我感到难过.
我已尝试使用循环和递归,但我尝试过的所有内容似乎最终都会产生无限的函数实例.
我已经有了一个想法/建议使用另一个功能以及这一个,但是,如何递归使用原始目标超出了我的目前.
任何帮助表示赞赏.