小编PER*_*Zje的帖子

尝试合并2个数据帧但得到ValueError

这些是我的两个数据框保存在两个变量中:

> print(df.head())
>
          club_name  tr_jan  tr_dec  year
    0  ADO Den Haag    1368    1422  2010
    1  ADO Den Haag    1455    1477  2011
    2  ADO Den Haag    1461    1443  2012
    3  ADO Den Haag    1437    1383  2013
    4  ADO Den Haag    1386    1422  2014
> print(rankingdf.head())
>
           club_name  ranking  year
    0    ADO Den Haag    12    2010
    1    ADO Den Haag    13    2011
    2    ADO Den Haag    11    2012
    3    ADO Den Haag    14    2013
    4    ADO Den Haag    17    2014
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码合并这两个: …

python dataframe pandas

43
推荐指数
3
解决办法
7万
查看次数

使用百分比字符串更改列以浮动pandas数据帧

所以我基本上得到了这个:

,    pct_intl_student
2879      %
2880     9%
2881    NaN
2882     1%
2883    NaN
Name: pct_intl_student, Length: 2884, dtype: object
Run Code Online (Sandbox Code Playgroud)

是否可以通过一些简单的方法将所有字符串中的百分号更改为十进制数?基本上这个:

,    pct_intl_student
2979    0
2880    0.09
2881    NaN
2882    0.01
2883    NaN
Name: pct_intl_student, Length: 2884, dtype: object
Run Code Online (Sandbox Code Playgroud)

我确实需要NaN值保持不变,之后它们将被转换为平均百分比数.问题还在于NaN值应该全部保持为NaN,而仅包含字符串'%'的行需要变为0.

我试过了:

df['pct_intl_student'] = df['pct_intl_student'].str.rstrip('%').astype('float') / 100.0
Run Code Online (Sandbox Code Playgroud)

但这引发了这个错误:

ValueError:无法将字符串转换为float:

所以我现在很茫然

希望有人可以帮助我.

python pandas

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

Pandas Dataframe将数据拼接成2列,并用逗号和整数表示数字

我目前遇到两个问题:

我的数据框架如下所示:

, male_female, no_of_students
0, 24 : 76, "81,120"
1, 33 : 67, "12,270"
2, 50 : 50, "10,120"
3, 42 : 58, "5,120"
4, 12 : 88, "2,200"
Run Code Online (Sandbox Code Playgroud)

我想要实现的是:

, male, female, no_of_students
0, 24, 76, 81120
1, 33, 67, 12270
2, 50, 50, 10120
3, 42, 58, 5120
4, 12, 88, 2200
Run Code Online (Sandbox Code Playgroud)

基本上我想将male_female转换为两列,将no_of_students转换为整数列.我尝试了很多东西,将no_of_students列转换为另一种带有.astype的类型.但似乎没有什么工作正常,我也无法找到一个聪明的方法来正确分割male_female列.

希望有人可以帮助我!

python dataframe pandas

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

添加悬停以绘制多个垂直条散景

因此,我基本上遵循了散景文档站点上有关处理分类数据的示例:

https://docs.bokeh.org/en/latest/docs/user_guide/categorical.html

最终我得到了这段代码(我简化了一点):

# dictionary with data for making a figure
data = {'continents' : continents,
        '2016' : list2016,
        '2017' : list2017,
        '2018' : list2018 }


source = ColumnDataSource(data=data)

p = figure(x_range=continents, y_range=(0, 450), plot_height=250, title="University count per continent per year",
           toolbar_location=None, tools="")

p.vbar(x=dodge('continents', -0.25, range=p.x_range), top='2016', width=0.2, source=source,
       color="#c9d9d3", legend=value("2016"))

p.vbar(x=dodge('continents',  0.0,  range=p.x_range), top='2017', width=0.2, source=source,
       color="#718dbf", legend=value("2017"))

p.vbar(x=dodge('continents',  0.25, range=p.x_range), top='2018', width=0.2, source=source,
       color="#e84d60", legend=value("2018"))

p.x_range.range_padding = 0.1
p.xgrid.grid_line_color = None
p.legend.location = "top_right"
p.legend.orientation = "horizontal"
Run Code Online (Sandbox Code Playgroud)

其中数据列有 …

python bokeh

2
推荐指数
1
解决办法
1141
查看次数

熊猫没有正确计算行数

所以我有这个数据帧:

         filename  width  height    class  xmin  ymin  xmax  ymax
0      128782.JPG    640     512    Panel    36   385   119   510
1      128782.JPG    640     512    Panel   124   388   207   510
2      128782.JPG    640     512    Panel   210   390   294   511
3      128782.JPG    640     512    Panel   294   395   380   510
4      128782.JPG    640     512    Panel   379   398   466   511
5      128782.JPG    640     512    Panel   465   402   553   510
6      128782.JPG    640     512     P+SD   552   402   638   510
7      128782.JPG    640     512     P+SD   558   264   638 …
Run Code Online (Sandbox Code Playgroud)

python string pandas

2
推荐指数
1
解决办法
72
查看次数

这个int到浮点转换是怎么回事,为什么它是真空的呢?

所以我基本上得到了这个代码

#include <stdio.h>

int main()
{
    int n = 0x7fffffff;
    float f = n;

    printf("%d\n", n);
    printf("%f\n", f);

    n = 0x00ffffff;
    f = n;

    printf("%d\n", n);
    printf("%f", f);
}
Run Code Online (Sandbox Code Playgroud)

这给出了这个输出:

>     2147483647                                                                             
>     2147483648.000000                                                                      
>     16777215                                                                               
>     16777215.000000
Run Code Online (Sandbox Code Playgroud)

为什么两个第一个数字之间存在差异,而不是第二个数字之间存在差异.我认为任何整数都可以用c中的任何浮点数表示.为什么会这样?

c

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

标签 统计

python ×5

pandas ×4

dataframe ×2

bokeh ×1

c ×1

string ×1