我有一个数据框,在第1轴(列)中有一个分层索引(来自一个groupby.agg操作):
USAF WBAN year month day s_PC s_CL s_CD s_CNT tempf
sum sum sum sum amax amin
0 702730 26451 1993 1 1 1 0 12 13 30.92 24.98
1 702730 26451 1993 1 2 0 0 13 13 32.00 24.98
2 702730 26451 1993 1 3 1 10 2 13 23.00 6.98
3 702730 26451 1993 1 4 1 0 12 13 10.04 3.92
4 702730 26451 1993 1 5 3 0 10 13 19.94 10.94
Run Code Online (Sandbox Code Playgroud)
我想扁平它,所以它看起来像这样(名字不重要 …
我正在使用Pandas包,它创建了一个DataFrame对象,它基本上是一个带标签的矩阵.通常我的列具有长字符串字段,或者具有许多列的数据帧,因此简单的打印命令不能很好地工作.我写了一些文本输出函数,但它们并不好.
我真正喜欢的是一个简单的GUI,它允许我与数据帧/矩阵/表进行交互.就像你在SQL工具中找到的一样.基本上是一个窗口,它有一个只读电子表格,如查看数据.我可以通过长桌等扩展列,页面向上和向下翻页等.
我怀疑这样的事情存在,但我必须用错误的条款谷歌搜索.如果它是特定的熊猫会很棒,但我猜我可以使用任何矩阵接受工具.(顺便说一句 - 我在Windows上.)
有什么指针吗?
或者,相反,如果有人知道这个空间并且知道这可能不存在,那么是否有一个简单的GUI框架/小部件可以用来推动我自己的任何建议?(但由于我的需求有限,我不愿意学习一个大的GUI框架并为这一部分做一堆编码.)
我不确定这是怎么做的,但我的目标如下:
当然问题是父指令和子指令都是兄弟姐妹.所以我不知道该怎么做.注意 - 我不想在中设置数据
小提琴:http://jsfiddle.net/rrosen326/CZWS4/
HTML:
<div ng-controller="parentController">
<parent-dir dir-data="display this data">
<child-dir></child-dir>
</parent-dir>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
var testapp = angular.module('testapp', []);
testapp.controller('parentController', ['$scope', '$window', function ($scope, $window) {
console.log('parentController scope id = ', $scope.$id);
$scope.ctrl_data = "irrelevant ctrl data";
}]);
testapp.directive('parentDir', function factory() {
return {
restrict: 'ECA',
scope: {
ctrl_data: '@'
},
template: '<div><b>parentDir scope.dirData:</b> {{dirData}} <div class="offset1" ng-transclude></div> </div>',
replace: false,
transclude: true,
link: function (scope, element, attrs) {
scope.dirData = …Run Code Online (Sandbox Code Playgroud) 我有这样的目录结构:
../dir1/dev/project1/...
/project2/...
/project3/...
/production/
Run Code Online (Sandbox Code Playgroud)
我将dev(及其所有子目录)检入git(和github).一切都运作良好.
我想使用github通过签出(或拉动或其他)到我的生产目录中来仅部署project2.(具体来说,我想通过标签检查.)所以这会导致../dir1/production/project2
我不是一个git专家,但已经在线阅读了一堆,看起来"稀疏结账"就是我所追求的.我在这里,这里 和这里尝试过各种指令组合.
基本上我做了:
mkdir <repo> && cd <repo>
git init
git remote add –f <name> <url>
git config core.sparsecheckout true
echo /project2/ >> .git/info/sparse-checkout
Run Code Online (Sandbox Code Playgroud)
我什么时候git pull <remote> TAGNAME得到fatal: The remote end hung up unexpectedly.
我什么时候git checkout TAGNAME得到error: Sparse checkout leaves no entry on working directory.
我究竟做错了什么?
我的具体用例是我正在尝试子类化pathlib.Path.我希望能够添加或覆盖某些功能,但我还想继承所有Path.路径有一个__new__,其中有:
if cls is Path:
cls = WindowsPath if os.name == 'nt' else PosixPath
Run Code Online (Sandbox Code Playgroud)
换句话说,Path需要将适当的类传递给它.问题是我不知道如何既创建我的课,并呼吁Path.__new__有cls == Path.
我尝试了很多东西,每个都给了我一个不同的问题.这个给了我,AttributeError: type object 'RPath' has no attribute '_flavour'因为我试图覆盖父类.
Python3:
class RPath(Path):
def __new__(cls, basedir, *args, **kwargs):
return Path.__new__(cls, *args, **kwargs)
def __init__(self, basedir, *pathsegs):
super().__init__()
self.basedir = basedir
def newfunction(self):
print('Something new')
Run Code Online (Sandbox Code Playgroud)
并且这个返回一个Path对象,因此不允许我做我的覆盖.
def __new__(cls, basedir, *args, **kwargs):
return Path.__new__(Path, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
我也试过各种各样的用法super(),但没有用.
这似乎应该很容易.我错过了什么?
更新:我想要完成什么?具体来说,我想class RPath(basedir, *pathsegments):
rpath=RPath('\root\dir', 'relpath\path2\file.ext) …Run Code Online (Sandbox Code Playgroud) 我有一个堆积条形图,显示月或年的值。
它由一系列列(1 或 12)和每列中的矩形组成(9 个单独的值)。
你可以在这里看到它:(注意 - 这是一个有效的网页,目前在 AWS 上运行。)
http://54.245.225.47/stackedbar_ex_good
Run Code Online (Sandbox Code Playgroud)
当我从月视图转到年视图时,我想将所有位置移动到年值,然后将它们作为年值 .enter() 淡出。
问题是 rects(我通常会在其中执行 .exit().transition().attr("y", new_val) 从未被调用,因为该列被删除 (.exit())。当我尝试引用时来自 svg.selectAll(".col").exit().transition() 的孩子 .rects,他们似乎一下子消失了。我猜这是错误的方式。
对不起,这太令人困惑了!我确信这种事情在其他地方得到了回答,但我什至不知道正确描述它的语言(因此搜索它)。任何提示/指针将不胜感激。
(有很多代码 - 我不知道如何简化才能发布它。)
我有一个数据框,并希望使用索引中的值来创建另一列。
例如:
df=pd.DataFrame({'idx1':range(0,5), 'idx2':range(10000,10005), 'value':np.random.randn(5)})
df.set_index(keys=['idx1','idx2'], inplace=True)
print df
value
idx1 idx2
0 10000 -1.470367
1 10001 0.260693
2 10002 -0.732319
3 10003 -0.116977
4 10004 1.106644
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
df['idx1_mod']= df['idx1'] + 100
Run Code Online (Sandbox Code Playgroud)
(实际上,我想做更复杂的事情,但是基本上我需要索引的值。)
现在,我要重置索引(将索引字段作为列),通过对列的访问来进行计算,然后重新创建索引。我确定我遗漏了一些明显的东西,但是我看上去已经一吨不漏了!
注意-我也尝试了df.iterrows(),但似乎提供了该行的副本,并且不允许我更新原始数据帧。