小编che*_*ens的帖子

如何使用dplyr按id过滤数据框组中列的前10个百分点

我有以下数据框:

id   total_transfered_amount day
1       1000                 2
1       2000                 3
1       3000                 4
1       1000                 1
1       10000                4
2       5000                 3
2       6000                 4
2       40000                2
2       4000                 3
2       4000                 3
3       1000                 1
3       2000                 2
3       3000                 3
3       30000                3
3       3000                 3
Run Code Online (Sandbox Code Playgroud)

需要使用 dplyr 包preferabely分别为每个id过滤掉'total_transfered_amount'列中超过90个百分点的行,例如我需要过滤掉以下行:

2       40000                2
3       30000                3
Run Code Online (Sandbox Code Playgroud)

r data-analysis percentile dataframe dplyr

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

在python中迭代图像的所有像素的最快方法

我已经将图像作为数组读取:

import numpy as np
from scipy import misc
face1=misc.imread('face1.jpg')
Run Code Online (Sandbox Code Playgroud)

face1尺寸是 (288, 352, 3)

我需要迭代每个像素并填充y训练集中的列我采取了以下方法:

Y_training = np.zeros([1,1],dtype=np.uint8)

for i in range(0, face1.shape[0]): # We go over rows number 
    for j in range(0, face1.shape[1]): # we go over columns number
        if np.array_equiv(face1[i,j],[255,255,255]):
           Y_training=np.vstack(([0], Y_training))#0 if blank
        else:
           Y_training=np.vstack(([1], Y_training))

b = len(Y_training)-1
Y_training = Y_training[:b]
np.shape(Y_training)`
Run Code Online (Sandbox Code Playgroud)

Wall time: 2.57 s

因为我需要在大约2000个图像的上面的过程中做任何更快的方法,我们可以减少运行时间到毫秒或naonseconds

python numpy scipy scikit-learn scikit-image

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

在pandas(Python)中减去按id分组的数据帧中的连续行

我有以下数据框:

id        day           total_amount
 1       2015-07-09         1000
 1       2015-10-22          100
 1       2015-11-12          200
 1       2015-11-27         2392
 1       2015-12-16          123
 7       2015-07-09          200
 7       2015-07-09         1000
 7       2015-08-27       100018
 7       2015-11-25         1000
 8       2015-08-27         1000
 8       2015-12-07        10000
 8       2016-01-18          796
 8       2016-03-31        10000
15       2015-09-10         1500
15       2015-09-30         1000
Run Code Online (Sandbox Code Playgroud)

如果它们具有相同的 id 直到到达该 id 的最后一行,我需要在 day 列中减去每两个连续的时间,然后这次开始减去 day 列中的时间以获得新的 id,输出中类似于以下几行:

 1       2015-08-09         1000 2015-11-22 - 2015-08-09
 1       2015-11-22          100 2015-12-12 - 2015-11-22
 1       2015-12-12          200 2015-12-16 - 2015-12-12
 1       2015-12-16         2392 …
Run Code Online (Sandbox Code Playgroud)

python data-manipulation pandas data-cleaning data-science

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

如何分组并计算pandas中组中每列的无缺失值的数量

我有以下datadrame

user_id  var  qualified_date    loyal_date
  1       1      2017-01-17     2017-02-03
  2       1      2017-01-03     2017-01-13
  3       1      2017-01-11      NaT
  4       1       NaT            NaT
  5       1       NaT            NaT
  6       2      2017-01-15      2017-02-14
  7       2      2017-01-07      NaT
  8       2      2017-01-23      2017-02-18
  9       2      2017-01-25      NaT
  10      2      2017-01-11      2017-03-01
Run Code Online (Sandbox Code Playgroud)

我需要通过'Var'中的值对此数据帧进行分组,然后计算每个'qualified_date'和'engaged_date'列的非缺失值的数量.我可以单独为每个列执行此操作并将它们手动放入数据框中,但我正在寻找一个groupby方法或类似的方法,我可以自动进入一个新的DF而不是'var'中的值作为索引和两列显示每个组的非缺失值的计数.

像这样

var  qualified_count loyal_count
 1       xx            xx
 2       xx            xx
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas pandasql

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

如何在数据框中提取年份和周数并将其放在新列python中

我有以下数据帧:

sale_id      created_at
1               2016-05-28T05:53:31.042Z
2               2016-05-30T12:50:58.184Z
3               2016-05-23T10:22:18.858Z
4               2016-05-27T09:20:15.158Z
5               2016-05-21T08:30:17.337Z
6               2016-05-28T07:41:14.361Z
Run Code Online (Sandbox Code Playgroud)

我需要添加一年周列,其中包含created_at列中每行的年份和周数:

sale_id      created_at                      year_week
1               2016-05-28T05:53:31.042Z       2016-21
2               2016-05-30T12:50:58.184Z       2016-22
3               2016-05-23T10:22:18.858Z       2016-21
4               2016-05-27T09:20:15.158Z       2016-21
5               2016-05-21T08:30:17.337Z       2016-20
6               2016-05-28T07:41:14.361Z       2016-21
Run Code Online (Sandbox Code Playgroud)

我更喜欢一种可以轻松转移到pyspark的解决方案.

python pandas

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

如何在Apache Spark中连接两个数据框并将键合并到一列?

我有两个以下的Spark数据框:

sale_df:

|user_id|total_sale|
+-------+----------+
|      a|      1100|
|      b|      2100|
|      c|      3300|
|      d|      4400  
Run Code Online (Sandbox Code Playgroud)

和target_df:

 user_id|personalized_target|
+-------+-------------------+
|      b|               1000|
|      c|               2000|
|      d|               3000|
|      e|               4000|
+-------+-------------------+
Run Code Online (Sandbox Code Playgroud)

如何以输出方式加入它们:

user_id   total_sale   personalized_target
 a           1100            NA
 b           2100            1000
 c           3300            2000
 d           4400            4000
 e           NA              4000
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有连接类型,但似乎单个连接无法生成所需的输出.

任何PySpark或SQL和HiveContext都可以提供帮助.

join dataframe apache-spark apache-spark-sql pyspark

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

如何在scala中向Array中的每个元素追加一个字母

我有一个字符串数组:

  var z:Array[String] =Array("hand", "ball", "eye")
Run Code Online (Sandbox Code Playgroud)

我想在z中的每个元素附加一个"s",

我是scala的新手,我可以附加's'来打印它们:

 z.foreach(arg =>println(arg +"s"))
Run Code Online (Sandbox Code Playgroud)

但我正在寻找的是实际上改变z中的所有元素以获得's'.

arrays scala

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

如何绘制由matplotlib和pandas中的两列分组的数据框

我有以下数据框:

                        total_gross_profit
  first_day_week    var 
      Feb-06         1  45293.09
                     2  61949.54
      Feb-13         1  44634.72
                     2  34584.15
      Feb-20         1  43796.89
                     2  37308.57
      Feb-27         1  44136.21
                     2  38237.67
      Jan-16         1  74695.91
                     2  75702.02
      Jan-23         1  86101.05
                     2  69518.39
      Jan-30         1  65913.56
                     2  74823.94
      Mar-06         1  34256.47
                     2  31953.00
Run Code Online (Sandbox Code Playgroud)

我按first_day_weekvar列分组,我需要绘制一个条形图,其中我first_day_week在x轴上,对于first_day_week两个条形图中的每个条目,每个值var用不同的颜色表示,类似于(以下条形图的数据完全是假的):

在此处输入图片说明

python matplotlib bar-chart dataframe pandas

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

如何在熊猫中将字节对象类型转换为日期时间

我在已经从Mysql DB导入的数据框中有以下列:

atst 
b'2017-01-17 01:50:00'
b'2017-01-17 01:50:00'
b'2017-01-17 01:50:00'
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为日期时间,我已经尝试过这种方法,但是将Nat放在了列中:

 df1['atst']=df['atst'].str.decode("utf-8")
 df1['atst']=pd.to_datetime(df1['atst'])
Run Code Online (Sandbox Code Playgroud)

我将其解码为UTF-8的原因是,当我尝试不解码而将其转换时,出现以下错误:

Unknown string format
Run Code Online (Sandbox Code Playgroud)

python datetime dataframe pandas

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

从r中的字符列中提取小时和分钟

我有以下数据框,数据集已经从数据库表中导入,并且 created_at 列具有字符类型:

sale_id      created_at
1               2016-05-28T05:53:31.042Z
2               2016-05-30T12:50:58.184Z
3               2016-05-23T10:22:18.858Z
4               2016-05-27T09:20:15.158Z
5               2016-05-21T08:30:17.337Z
6               2016-05-28T07:41:14.361Z
Run Code Online (Sandbox Code Playgroud)

如何从 created_at 列中仅提取小时和分钟,最好使用基本 r 库?我需要稍后将小时和分钟粘贴在一起并将其作为新列。

datetime r data-analysis dataframe posixlt

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

如何在范围内划分数字列并为Apache Spark中的每个范围分配标签?

我有以下sparkdataframe:

id weekly_sale
1    40000
2    120000
3    135000
4    211000
5    215000
6    331000
7    337000
Run Code Online (Sandbox Code Playgroud)

我需要查看weekly_sale列中以下哪些间隔项属于:

under 100000
between 100000 and 200000
between 200000 and 300000
more than 300000
Run Code Online (Sandbox Code Playgroud)

所以我想要的输出将是:

id weekly_sale  label
1    40000       under 100000    
2    120000      between 100000 and 200000
3    135000      between 100000 and 200000
4    211000      between 200000 and 300000
5    215000      between 200000 and 300000
6    331000      more than 300000
7    337000      more than 300000
Run Code Online (Sandbox Code Playgroud)

任何pyspark,spark.sql和Hive上下文实现都将对我有所帮助。

dataframe apache-spark apache-spark-sql pyspark hivecontext

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