小编Amb*_* Z.的帖子

PySpark 截断小数

我在 pySpark 工作,我有一个变量 LATITUDE,它有很多小数位。我需要从中创建两个新变量,一个是四舍五入的,一个是截断的。均为小数点后三位。

截断值的最简单方法是什么?

为了四舍五入,我做了:

raw_data = raw_data.withColumn("LATITUDE_ROUND", round(raw_data.LATITUDE, 3))
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但如果有更好的方法,请告诉我。

apache-spark pyspark

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

从datetime64 [ns]变量中提取小时

我有一个列,我已经使用pandas转换为datetime,所以现在它的格式为datetime64.

LOCAL_TIME_ON 
2014-06-21 15:32:09
2014-06-07 20:17:13
Run Code Online (Sandbox Code Playgroud)

我想将小时提取到一个新列.我发现唯一有效的方法是下面的,但是,我得到了一个SettingWithCopyWarning.有没有人有一个更干净的方式我可以做到这一点?

TRIP_INFO_TIME['TIME_HOUR'] = pd.DatetimeIndex(TRIP_INFO_TIME['LOCAL_TIME_ON']).hour.astype(int)
Run Code Online (Sandbox Code Playgroud)
C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.1.4\helpers\pydev\pydevconsole.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  '''
Run Code Online (Sandbox Code Playgroud)

python-2.7 pandas

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

如果记录满足条件,则使用先前记录值的Python偏移列值

我是Python的新手,我坚持如何有条件地抵消价值.当我只需要创建一个新列时,我已经成功地使用了shift功能.但是,这似乎不适用于某个功能.

原始df:

BEGIN   SPEED   SPEED_END
322     28      0
341     0       23
496     5       1
500     0       0
775     0       0
979     0       0
1015    0       0
1022    0       14
1050    11      6
Run Code Online (Sandbox Code Playgroud)

我希望将BEGIN值更改为先前的记录BEGIN值,并将SPEED值更改为SPEED记录where SPEED=0和previous 之前的记录值SPEED_END=0.

所以上面的表应该是:

BEGIN   SPEED   SPEED_END
322     28      0
322     28      23
496     5       1
500     0       0
500     0       0
500     0       0
500     0       0
500     0       14
1050    11      6
Run Code Online (Sandbox Code Playgroud)

我尝试了很多不同的东西.目前,我试过:

def cont(row,param): …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

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

标签 统计

pandas ×2

python-2.7 ×2

apache-spark ×1

pyspark ×1

python ×1