小编chr*_*ise的帖子

仅针对有数据的时期绘制熊猫日内时间序列

我有一系列的日内测量。仅在工作日的白天进行测量。当我绘制数据时,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)

在此处输入图片说明

有没有办法在保持日期的同时获得像第二个图这样的图?

编辑:这是数据和情节的一个子集

在此处输入图片说明

python matplotlib pandas

5
推荐指数
1
解决办法
2078
查看次数

熊猫来自pandas.core.frame.Pandas对象

我有一个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 '

pandas

5
推荐指数
2
解决办法
2072
查看次数

熊猫fillna多索引

我有一个具有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)

我不清楚为什么第一种方法行不通。似乎很奇怪。有人可以在这里启发我吗?

python pandas

4
推荐指数
1
解决办法
500
查看次数

C ++如何在类成员之间实现切换

我对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)

c++

4
推荐指数
1
解决办法
895
查看次数

如何忽略函数模板中的constness?

我有以下模板功能:

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我每次调用函数时都使用的解决方案是什么?

c++

4
推荐指数
1
解决办法
199
查看次数

kdb/q如何从列表中删除条目

我试图用相同的列连接几个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)

有了这些条目,我无法对列表进行调整以获得包含所有条目的表格.我该如何删除那些空条目?

kdb

4
推荐指数
2
解决办法
308
查看次数

pyqt在滚动区域扩展网格

我在对话框的滚动区域中有一个网格区域

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。我怎样才能使这项工作?

python pyqt pyqt4 qscrollarea pyqt5

3
推荐指数
1
解决办法
3004
查看次数

kdb如何将列名传递给函数

作为一个简化的例子,我有

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)

在这种形式它不起作用.有什么建议我怎么能做到这一点?谢谢

kdb

3
推荐指数
1
解决办法
614
查看次数

KDB计数列的唯一组合

假设我有一张桌子

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)

kdb

3
推荐指数
1
解决办法
470
查看次数

C++ 在 unique_ptr 的映射上迭代 std::accumulate():没有已知的转换

这可能是周五下午失明的情况……为什么地图上的累积不起作用。它给了我一个编译错误

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)

c++ stdmap c++14

3
推荐指数
1
解决办法
145
查看次数

标签 统计

c++ ×3

kdb ×3

pandas ×3

python ×3

c++14 ×1

matplotlib ×1

pyqt ×1

pyqt4 ×1

pyqt5 ×1

qscrollarea ×1

stdmap ×1