假设我有一个如下所示的数据框:
df = pd.DataFrame(index=list('abcde'), data={'A': range(5), 'B': range(5)})
df
Out[92]:
A B
a 0 0
b 1 1
c 2 2
d 3 3
e 4 4
Run Code Online (Sandbox Code Playgroud)
假设这个数据帧已经存在,我怎样才能简单地在列索引中添加一个"C"级别,所以我得到了这个:
df
Out[92]:
A B
C C
a 0 0
b 1 1
c 2 2
d 3 3
e 4 4
Run Code Online (Sandbox Code Playgroud)
我看到SO anwser就像这个python/pandas:如何将两个数据帧合并为一个具有分层列索引的数据帧?但这会使不同的数据帧不同,而不是将列级别添加到已存在的数据帧中.
-
问题:我需要估计一组多项逻辑多级模型,但找不到合适的R包.评估此类模型的最佳R包是什么?STATA 13最近将这个功能添加到他们的多级混合效果模型中 - 所以估计这些模型的技术似乎是可用的.
细节:许多研究问题需要估计多项Logistic回归模型,其中结果变量是分类的.例如,生物学家可能有兴趣研究哪种树木(例如松树,枫树,橡树)受酸雨影响最大.市场研究人员可能会对客户的年龄与Target,Safeway或沃尔玛的购物频率之间是否存在关系感兴趣.这些情况的共同点是结果变量是分类的(无序的),而多项逻辑回归是优选的估计方法.就我而言,我正在调查人类迁移类型的差异,结果变量(mig)编码0 =未迁移,1 =内部迁移,2 =国际迁移.这是我的数据集的简化版本:
migDat=data.frame(hhID=1:21,mig=rep(0:2,times=7),age=ceiling(runif(21,15,90)),stateID=rep(letters[1:3],each=7),pollution=rep(c("high","low","moderate"),each=7),stringsAsFactors=F)
hhID mig age stateID pollution
1 1 0 47 a high
2 2 1 53 a high
3 3 2 17 a high
4 4 0 73 a high
5 5 1 24 a high
6 6 2 80 a high
7 7 0 18 a high
8 8 1 33 b low
9 9 2 90 b low
10 10 0 49 b low
11 11 1 42 …Run Code Online (Sandbox Code Playgroud) 我正在用C++设计一个多级队列进程模拟器但是在尝试实现多个队列时遇到了问题(我的队列是向量).所以,"multilevel"是一个4元素数组(不是向量).在每个元素内部都有一个向量(类型为t_PCB).
vector<vector<t_PCB>> multilevel[4];
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何在这4个t_PCB向量的末尾插入一个元素?先感谢您.
我已经尝试了下面的代码行,但它不起作用(错误:不匹配成员函数调用'push_back')
multilevel[0].push_back(p); //where "p" is a t_PCB object
Run Code Online (Sandbox Code Playgroud)
在讨论"multilevel"时,不能使用上面的行,因为这个数组只接受参数类型:vector <t_PCB>
所以,正如我在开头问的那样:如何在"multilevel"中推送对象类型"t_PCB"?
我有一个像这样的多级列表:
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)'
我正在尝试执行多级菜单,单击">"时会滑动.第一个问题是CSS没有正常工作,<ul>没有浮动到左边.
我需要的只显示一个ul,如果单击">"显示"子"菜单滑动或显示它,任何方法都很有用.
准备好测试的完整代码就在这里
我正在尝试这样做:菜单
JavaScript的
$(document).ready(function(){
var json = [{"id":"1","parent":"0","slug":"digitalart","name":"Digital Art"},{"id":"2","parent":"1","slug":"3d","name":"3-Dimensional Art"},{"id":"39","parent":"1","slug":"drawings","name":"Drawings"},{"id":"3","parent":"2","slug":"abstract","name":"Abstract"},{"id":"4","parent":"2","slug":"characters","name":"Characters"},{"id":"12","parent":"2","slug":"objects","name":"Objects"},{"id":"23","parent":"2","slug":"scenes","name":"Scenes"},{"id":"32","parent":"2","slug":"unsorted","name":"Unsorted"},{"id":"33","parent":"2","slug":"vehicles","name":"Vehicles"},{"id":"5","parent":"4","slug":"creatures","name":"Animals & Creatures"},{"id":"6","parent":"4","slug":"cartoon","name":"Cartoon"},{"id":"7","parent":"4","slug":"female","name":"Female"},{"id":"8","parent":"4","slug":"groups","name":"Groups"},{"id":"9","parent":"4","slug":"machines","name":"Machines & Robots"},{"id":"10","parent":"4","slug":"male","name":"Male"},{"id":"11","parent":"4","slug":"misc","name":"Miscellaneus"}];
build_menu(json, 0);
});
function build_menu(json, parent){
var menu;
var item = "";
var counter = 0;
if(parent != '0'){
item += '<li><a class="more" onClick="show(); return false;" href="#">Back</a></li>';
}
$.each(json, function(i, category) {
if(category.parent == parent){
var more = '<a class="more" onClick="show('+parent+'); return false;" href="#">></a>';
item = item + '<li>' + category.name + more + '</li>';
build_menu(json, category.id);
counter++;
}
});
if(counter > …Run Code Online (Sandbox Code Playgroud) 我有一个多级(3级,Root - > Parent - > Child)ExpandableListView包含也是ExpandableListViews的子级.我没有填补它们的问题; 但是,当我第一次显示Activity(onCreate)时,我需要扩展Parent级别中的特定项.
我成功地扩展了Parent的相关Root项,但我似乎无法扩展Parent项.调用给定的侦听器,但结果不会反映在我的多级列表中.
我称之为扩展的活动:
public class Activity {
private int groupToExpand = 4, childToExpand = 3;
protected void onCreate(Bundle savedInstance) {
final ExpandableListView elv = (ExpandableListView) findViewById(R.id.elv);
if (arrayList!= null && !arrayList.isEmpty()) {
elv.setAdapter(new RootAdapter(this, arrayList);
// this selects the correct group, but doesn't expand the child.
elv.setSelectedChild(groupToExpand, childToExpand, true);
elv.expandGroup(groupToExpand); // this works.
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的Root适配器:
public class RootAdapter extends BaseExpandableListAdapter {
private List<Objects> arrayList;
private Context context;
private LayoutInflater inflater;
public …Run Code Online (Sandbox Code Playgroud) 好吧基本上我有以下问题:我试图让一个抽象类继承另一个抽象方法,但是我不想在其中任何一个中实现抽象方法,因为第三个类继承了他们:
public abstract class Command
{
public abstract object execute();
}
public abstract class Binary : Command
{
public abstract object execute(); //the issue is here
}
public class Multiply : Binary
{
public override object execute()
{
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将二进制命令与一元命令分开,但不希望/不能实现任何一种执行方法.我想过让Binary覆盖抽象方法(因为它必须),然后只抛出一个未实现的异常事物.如果我覆盖它,那么我必须声明一个体,但如果我把它抽象,那么我就是"隐藏"继承的方法.
有什么想法吗?
我有一个构造,我在Java中for循环嵌套while循环.有没有办法调用一个break语句,使它退出for循环和while循环?
我想找到更改多级数据框中特定列的更改名称的方法.
有了这些数据:
data = {
('A', '1', 'I'): [1, 2, 3, 4, 5],
('B', '2', 'II'): [1, 2, 3, 4, 5],
('C', '3', 'I'): [1, 2, 3, 4, 5],
('D', '4', 'II'): [1, 2, 3, 4, 5],
('E', '5', 'III'): [1, 2, 3, 4, 5],
}
dataDF = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)
此代码无效:
dataDF.rename(columns = {('A', '1', 'I'):('Z', '100', 'Z')}, inplace=True)
Run Code Online (Sandbox Code Playgroud)
结果:
A B C D E
1 2 3 4 5
I II I II III
0 1 1 1 1 1 …Run Code Online (Sandbox Code Playgroud) 给出两个不同的df:
'一个'
a b
2016-11-21 2 1
2016-11-22 3 4
2016-11-23 5 2
2016-11-24 6 3
2016-11-25 6 3
Run Code Online (Sandbox Code Playgroud)
'B'
a b
2016-11-21 3 0
2016-11-22 1 0
2016-11-23 1 6
2016-11-24 1 5
2016-11-25 0 2
Run Code Online (Sandbox Code Playgroud)
如何创建此形状的"多级"数据框:
'C'
A B
a b a b
2016-11-21 2 1 3 0
2016-11-22 3 4 1 0
2016-11-23 5 2 1 6
2016-11-24 6 3 1 5
2016-11-25 6 3 0 2
Run Code Online (Sandbox Code Playgroud)
*index是'datatime'对象
谢谢