小编Bra*_*wed的帖子

Pandas数据框条件均值基于列名称

从数据帧的示例开始,最简单的解释是:

    TimeStamp   382.098     382.461     383.185     383.548
    10:28:00    0.012448    0.012362    0.0124485   0.012362
    10:30:00    0.0124135   0.0123965   0.0124135   0.012431
    10:32:00    0.0551035   0.0551725   0.055931    0.0563105
    10:34:00    0.055586    0.0557245   0.056655    0.0569485
    10:36:00    0.055586    0.055776    0.0568105   0.057362
Run Code Online (Sandbox Code Playgroud)

我希望我的输出是:

    TimeStamp   382         383
    10:28:00    0.012405    0.01240525
    10:30:00    0.012405    0.01242225
    10:32:00    0.05513     0.05612075
    10:34:00    0.05565525  0.05680175
    10:36:00    0.055681    0.05708625
Run Code Online (Sandbox Code Playgroud)

所以,我想查看列名值,如果它们与整数相同,我希望输出col具有每个时间索引值的平均值.

我的想法是使用df.round将列标题舍入为最接近的整数,然后使用.mean()以某种方式对轴= 0应用相同col标题的均值.但是,我在数据帧索引类型上使用round函数时出错.

编辑:基于答案,我用过

df.rename(columns=dict(zip(df.columns[0:], df.columns[0:]\
          .values.astype(float).round().astype(str))),inplace=True)
df = df.groupby(df.columns[0:], axis=1).mean()
Run Code Online (Sandbox Code Playgroud)

它会混淆列名和值,而不是根据col名称给出我的意思......不知道为什么!

python mean dataframe pandas

13
推荐指数
3
解决办法
505
查看次数

Holoviews(散景)图的辅助轴

我试图绘制一组图形,上面覆盖着一个显示它们之间百分比差异的图。

我用于绘图的代码:

%%output size = 200
%%opts Curve[height=200, width=400,show_grid=True,tools=['hover','box_select'], xrotation=90]
%%opts Curve(line_width=1)


from bokeh.models import Range1d, LinearAxis

new_df = new_df.astype('float')
percent_diff_df = percent_diff_df.astype('float')

def twinx(plot, element):
    # Setting the second y axis range name and range
    start, end = (element.range(1))
    label = element.dimensions()[1].pprint_label
    plot.state.extra_y_ranges = {"foo": Range1d(start=0, end=150)}
    # Adding the second axis to the plot. 
    linaxis = LinearAxis(axis_label='% Difference', y_range_name='foo')
    plot.state.add_layout(linaxis, 'right')

wavelength = hv.Dimension('wavelength', label = 'Wavelength', unit = 'nm')
radiance = hv.Dimension('radiance', label = 'Radiance', unit = …
Run Code Online (Sandbox Code Playgroud)

plot axis python-3.x bokeh holoviews

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

添加辅助 y 轴后,散景自动缩放轴

我正在尝试在一个带有辅助 y 轴的图形上绘制两组图形。我无法让它们都根据数据进行自动缩放。

我无法设置范围,因为我正在标记 10 个数字,并且代码将用于范围会有所不同的不同来源。另外,目前,我将一个范围设置为特定值,但我希望将它们都设置为自动缩放。

数据框看起来像:

波长 340 440 550 ... 340std 440std 2017-07-01 14:40 2.05 3.02 2.14 ... 0.002 0.00054 ....


TOOLS = "pan,wheel_zoom,box_zoom,reset,save"
p = figure(tools=TOOLS, x_axis_type='datetime',plot_height=400, 
           plot_width=700,
           outline_line_color = 'gray',
           y_axis_label = 'Radiance[W/m^2.sr.nm]',
           y_range = DataRange1d()
          )
# Setting the second y axis range name and range
p.extra_y_ranges = {"foo": Range1d(start=0, end=0.000006)}

# Adding the second axis to the plot.  
p.add_layout(LinearAxis(y_range_name="foo"), 'right')

p.line(x='Time', y='340.0', line_color="darkcyan", line_width=1, 
       source=source)
p.line(x='Time',y='340.0std', line_color = 'red', line_width=1, 
       y_range_name="foo", source=source)

one = …
Run Code Online (Sandbox Code Playgroud)

python plot python-3.x bokeh

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

比较熊猫中两个数据帧的索引值

我试图比较在哪个索引中,一个 dataframe1 中的 timedelta 值等于另一个 dataframe2 中的 timedelta 值,然后修剪具有更多值的数据帧,使它们同时开始:

数据集 1:

    TimeStamp            Col1  ...  Col2500
    0 days  10:37:34     346   ...  635
    0 days  10:38:34     124   ...  546
    0 days  10:39:34     346   ...  745
Run Code Online (Sandbox Code Playgroud)

数据集2:

    TimeStamp          Col1  ...  Col50
    0 days  10:25:20   123   ...   789
    0 days  10:25:45   183   ...   787
    ...
    ...
    0 days  10:37:40   223   ...   789

    for i in df2.index:
            if str(df1.index[0])[7:12] == str(df2.index[i])[7:12]:
                index_value = i
                break
     df2 = df2.drop(df2.index[[0,i-1]])
Run Code Online (Sandbox Code Playgroud)

预期输出将是 Dataset2 与 Dataset1 同时开始(最接近分钟)

python timestamp for-loop pandas

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

标签 统计

python ×3

bokeh ×2

pandas ×2

plot ×2

python-3.x ×2

axis ×1

dataframe ×1

for-loop ×1

holoviews ×1

mean ×1

timestamp ×1