小编use*_*827的帖子

熊猫在没有标题的情况下阅读

我如何读取.csv文件(没有标题),当我只想要一个列的子集(比如总共20列中的第4和第7列)时,使用pandas?我似乎无法做到usecols

python pandas

192
推荐指数
3
解决办法
25万
查看次数

Numpy第一次出现的值大于现有值

我有一个numpy的一维数组,我想找到一个值超过numpy数组中的值的索引的位置.

例如

aa = range(-10,10)
Run Code Online (Sandbox Code Playgroud)

找到位置,超出aa价值的位置5.

python numpy

125
推荐指数
6
解决办法
12万
查看次数

Pandas join问题:列重叠但未指定后缀

我有以下2个数据框:

df_a =

     mukey  DI  PI
0   100000  35  14
1  1000005  44  14
2  1000006  44  14
3  1000007  43  13
4  1000008  43  13

df_b = 
    mukey  niccdcd
0  190236        4
1  190237        6
2  190238        7
3  190239        4
4  190240        7
Run Code Online (Sandbox Code Playgroud)

当我尝试加入这两个数据帧时:

join_df = df_a.join(df_b,on='mukey',how='left')
Run Code Online (Sandbox Code Playgroud)

我收到错误:

*** ValueError: columns overlap but no suffix specified: Index([u'mukey'], dtype='object')
Run Code Online (Sandbox Code Playgroud)

为什么会这样?数据帧确实具有常见的"mukey"值.

python join pandas

119
推荐指数
4
解决办法
13万
查看次数

删除pandas数据框中全部为零的行

我可以使用pandas dropna()功能删除一些或所有列设置为NA's的行.是否有一个等效函数用于删除所有列值为0的行?

P   kt  b   tt  mky depth
1   0   0   0   0   0
2   0   0   0   0   0
3   0   0   0   0   0
4   0   0   0   0   0
5   1.1 3   4.5 2.3 9.0
Run Code Online (Sandbox Code Playgroud)

在此示例中,我们希望从数据框中删除前4行.

谢谢!

python pandas

76
推荐指数
8
解决办法
12万
查看次数

Pandas按groupby求和,但不包括某些列

在Pandas数据帧上进行groupby的最佳方法是什么,但从该组中排除某些列?例如,我有以下数据帧:

Code   Country      Item_Code   Item    Ele_Code    Unit    Y1961    Y1962   Y1963
2      Afghanistan  15          Wheat   5312        Ha      10       20      30
2      Afghanistan  25          Maize   5312        Ha      10       20      30
4      Angola       15          Wheat   7312        Ha      30       40      50
4      Angola       25          Maize   7312        Ha      30       40      50
Run Code Online (Sandbox Code Playgroud)

我想通过列Country和Item_Code进行分组,并且只计算落在Y1961,Y1962和Y1963列下的行的总和.生成的数据框应如下所示:

Code   Country      Item_Code   Item    Ele_Code    Unit    Y1961    Y1962   Y1963
2      Afghanistan  15          C3      5312        Ha      20       40       60
4      Angola       25          C4      7312        Ha      60       80      100
Run Code Online (Sandbox Code Playgroud)

现在我这样做:

df.groupby('Country').sum()
Run Code Online (Sandbox Code Playgroud)

但是,这也会将Item_Code列中的值相加.有什么方法可以指定要在sum()操作中包含哪些列以及要排除哪些列?

python group-by aggregate pandas

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

在柱状图中绘制平均线(matplotlib)

我拉使用Python中matplotlib直方图,并想提请代表数据集的平均值的线,覆盖在直方图为虚线(或者一些其它颜色会做太).有关如何在直方图上绘制线条的任何想法?

我正在使用plot()命令,但不确定如何绘制垂直线(即我应该为y轴给出什么值?

谢谢!

python axis matplotlib

51
推荐指数
2
解决办法
6万
查看次数

Python隐藏刻度,但显示刻度标签

我可以删除刻度线

ax.set_xticks([]) 
ax.set_yticks([]) 
Run Code Online (Sandbox Code Playgroud)

但这也会删除标签.我可以用任何方式绘制刻度标签而不是刻度线和脊柱

python matplotlib

47
推荐指数
6
解决办法
4万
查看次数

基于groupby拆分pandas数据帧

我想基于ZZ列拆分以下数据帧

df = 
        N0_YLDF  ZZ        MAT
    0  6.286333   2  11.669069
    1  6.317000   6  11.669069
    2  6.324889   6  11.516454
    3  6.320667   5  11.516454
    4  6.325556   5  11.516454
    5  6.359000   6  11.516454
    6  6.359000   6  11.516454
    7  6.361111   7  11.516454
    8  6.360778   7  11.516454
    9  6.361111   6  11.516454
Run Code Online (Sandbox Code Playgroud)

作为输出,我想要一个新的数据帧,其中'N0_YLDF'列分为4个,每个ZZ的唯一值一个新列.我该怎么做?我可以做groupby,但不知道如何处理分组对象.

python pandas

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

计算pandas中的行平均值

       Y1961      Y1962      Y1963      Y1964      Y1965  Region
0  82.567307  83.104757  83.183700  83.030338  82.831958  US
1   2.699372   2.610110   2.587919   2.696451   2.846247  US
2  14.131355  13.690028  13.599516  13.649176  13.649046  US
3   0.048589   0.046982   0.046583   0.046225   0.051750  US
4   0.553377   0.548123   0.582282   0.577811   0.620999  US
Run Code Online (Sandbox Code Playgroud)

在上面的数据框中,我想获得每行的平均值.目前,我这样做:

df.mean(axis=0)
Run Code Online (Sandbox Code Playgroud)

但是,这也取消了Region列.如何计算平均值并保留Region列

python pandas

34
推荐指数
4
解决办法
6万
查看次数

从pandas中的multiindex恢复到单个索引数据帧

                       NI
YEAR MONTH datetime        
2000 1     2000-01-01   NaN
           2000-01-02   NaN
           2000-01-03   NaN
           2000-01-04   NaN
           2000-01-05   NaN
Run Code Online (Sandbox Code Playgroud)

在上面的数据框中,我有一个由列组成的多级索引:

names=[u'YEAR', u'MONTH', u'datetime']
Run Code Online (Sandbox Code Playgroud)

如何恢复为'datetime'作为索引,'YEAR'和'MONTH'作为普通列的数据框?

python pandas

30
推荐指数
2
解决办法
3万
查看次数

标签 统计

python ×10

pandas ×7

matplotlib ×2

aggregate ×1

axis ×1

group-by ×1

join ×1

numpy ×1