我有一系列的日内测量。仅在工作日的白天进行测量。当我绘制数据时,pandas 将 xaxis 扩展到整个时间范围,因此该图显示了数据间隙
dfb.loc[:,("value", "exp_1")].plot()
Run Code Online (Sandbox Code Playgroud)
我可以告诉 pandas/matplotlib 忽略索引并且绘图很好,但我想在 x 轴上显示日期
dfb.loc[:,("value", "exp_1")].plot(ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
我还尝试用我的索引定义 xticks,但这导致第一个图表的 x 轴描述混乱
dfb.loc[:,("value", "exp_1")].plot(xticks=dfb.index)
Run Code Online (Sandbox Code Playgroud)
有没有办法在保持日期的同时获得像第二个图这样的图?
编辑:这是数据和情节的一个子集
我有一个pandas.core.frame.Pandas对象,需要根据其属性名称从中返回一个值。下面的代码有效
val = pandas_object.attr_name
Run Code Online (Sandbox Code Playgroud)
但是,我需要更改属性,所以我需要动态的东西,例如
val = pandas_object.get(attr_name)
Run Code Online (Sandbox Code Playgroud)
熊猫objecet没有getter函数,因为我收到以下错误
AttributeError: 'Pandas' object has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)
其他熊猫班似乎也有这种情况。http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.get.html
我找不到有关这种类型的Oaf Pandas对象的大量文档。有没有办法获得类似于.get()的值?
这是我的对象
Pandas(Index=0, Time_USec=Timestamp('2016-12-19 09:05:00.683243'), OrderId=0, Status='New')
Run Code Online (Sandbox Code Playgroud)
当我遵循adget使用getattr时,出现以下错误
print event.__getattr__("Time_USec")
Run Code Online (Sandbox Code Playgroud)
AttributeError:'Pandas'对象没有属性' getattr '
我有一个具有multiindex的数据框
values observations
time x1 x2 x3 x4 ... x1 x2 x3 x4 ...
t1 v1_1 nan v3_1 v4_1 ... o1_1 nan o3_1 o4_1 ...
t2 v1_2 v2_2 nan v4_2 ... o1_2 o2_2 nan o4_2 ...
Run Code Online (Sandbox Code Playgroud)
我正在尝试用0s填充观察框
df.loc[:,('observations')].fillna(value=0, inplace=True)
Run Code Online (Sandbox Code Playgroud)
但这不能填充df。当我切片并应用fillna时,它会起作用
dfx = df.loc[:,('observations')].fillna(value=0)
Run Code Online (Sandbox Code Playgroud)
dfx的nans替换为0,我可以替换原始部分
df.observations = dfx
Run Code Online (Sandbox Code Playgroud)
我不清楚为什么第一种方法行不通。似乎很奇怪。有人可以在这里启发我吗?
我对c ++还是很陌生,所以我试图了解如何正确地使用c ++进行操作。我有一个使用两个成员之一的类。在实例化时确定哪一个。看起来像
main() {
shared_pointer<A> a = make_shared<A>();
if ( checkSomething ) {
a->setB(make_shared<B>());
} else {
a->setC(make_shared<C>());
}
a->doStuff();
class A {
public:
doStuff() {
/*here I want to do something like call
m_b->doStuff() if this pointer is set and m_c->doStuff() if
that pointer is set.*/
}
setB( B* p ) { m_b = p; }
setC( C* p ) { m_c = p; }
B* m_b;
C* m_c;
}
}
B and C are some classes with …Run Code Online (Sandbox Code Playgroud) 我有以下模板功能:
template<typename K, typename V>
bool hasKey( const std::map<K, V>& m, K& k ) {
return m.find(k) != m.end();
}
Run Code Online (Sandbox Code Playgroud)
地图中的键不是const.
现在,我可能有一个const K.如何编写一个允许我将K andconst K`传递给函数的模板?
const_cast我每次调用函数时都使用的解决方案是什么?
我试图用相同的列连接几个csv.
getDataFromCsv :{[fn];
if[not () ~key hsym fn; data: ("zSzzSISSIIIIIffffff"; enlist "\t") 0:fn;
... do stuff...
:data];}
getFiles:{[dates;strat];root:"/home/me/data_";:{x: `$x, ssr[string y; "."; ""], ".csv"}[root] each dates;}
getData:{[dates;strat];`tasks set ([]c:());files:getFiles[dates;strat];:getDataFromCsv each files;}
Run Code Online (Sandbox Code Playgroud)
这样做我得到一个表的列表,其中一些条目为空,没有文件
[0] = ([] c1;c2;c2 ...
[1] = ([] c1;c2;c2 ...
[2] = ([] c1;c2;c2 ...
[3] = ([] c1;c2;c2 ...
[4] = ([] c1;c2;c2 ...
[5] = ::
[6] = ([] c1;c2;c2 ...
Run Code Online (Sandbox Code Playgroud)
有了这些条目,我无法对列表进行调整以获得包含所有条目的表格.我该如何删除那些空条目?
我在对话框的滚动区域中有一个网格区域
class IndicSelectWindow(QDialog):
def __init__(self, path, parent=None):
super(IndicSelectWindow, self).__init__(parent)
self.resize(500, 400)
self.scroll_area = QScrollArea(self)
self.scroll_area.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.grid_layout = QGridLayout(self.scroll_area)
self.exec_()
Run Code Online (Sandbox Code Playgroud)
如何使网格覆盖 scroll_area 的整个区域。它没有方法 setSizePolicy。我怎样才能使这项工作?
作为一个简化的例子,我有
tbl:flip `sym`v1`v2!(`a`b`c`d; 50 280 1200 1800; 40 190 1300 1900)
Run Code Online (Sandbox Code Playgroud)
我想将列名传递给像这样的函数
f:{[t;c];:update v3:2 * c from t;}
Run Code Online (Sandbox Code Playgroud)
在这种形式它不起作用.有什么建议我怎么能做到这一点?谢谢
假设我有一张桌子
tbl:flip `id`evt!(1 1 1 2 2 2 2 2 3 3; `a`b`c`a`b`b`b`c`a`c)
Run Code Online (Sandbox Code Playgroud)
如何有效地计算evt的出现次数,但每个id只能计算一次
因此,结果应该如下(或将evt映射到唯一计数的任何其他格式)
res:flip `evt`ct !(`a`b`c; 3 2 3)
Run Code Online (Sandbox Code Playgroud) 这可能是周五下午失明的情况……为什么地图上的累积不起作用。它给了我一个编译错误
main.cpp:35:80: note: no known conversion for argument 2 from ‘std::pair, std::unique_ptr >’ to ‘const std::pair, std::unique_ptr >&’
Run Code Online (Sandbox Code Playgroud)
这个演员有什么问题?
#include <vector>
#include <map>
#include <memory>
#include <numeric>
#include <iostream>
using namespace std;
struct Foo
{
long bar() const {return 1;}
};
int main()
{
std::vector<std::unique_ptr<Foo>> v;
auto baz = [](long x, const std::unique_ptr<Foo>& p){return x + p->bar();};
std::accumulate(v.begin(), v.end(), 0L, baz);
std::map<std::string, std::unique_ptr<Foo>> m;
auto bam = [](long x, const std::pair<std::string, std::unique_ptr<Foo>>& p) {
return x + p.second->bar();
};
std::accumulate(m.begin(), …Run Code Online (Sandbox Code Playgroud)