如何获取groupby结果的整行数据?
df
a b c d e
0 a 25 12 1 20
1 a 15 1 1 1
2 b 12 1 1 1
3 n 25 2 3 3
In [4]: df = pd.read_clipboard()
In [5]: df.groupby('a')['b'].max()
Out[5]:
a
a 25
b 12
n 25
Name: b, dtype: int64
Run Code Online (Sandbox Code Playgroud)
如何获得整行?
a b c d e
a 25 12 1 20
b 12 1 1 1
n 25 2 3 3
Run Code Online (Sandbox Code Playgroud)
我试过过滤,但 df[df.e == df.groupby('a')['b'].max()]但大小不同:(
原始数据:
0 1 …Run Code Online (Sandbox Code Playgroud) rlike工作正常但not rlike抛出错误:
scala> sqlContext.sql("select * from T where columnB rlike '^[0-9]*$'").collect()
res42: Array[org.apache.spark.sql.Row] = Array([412,0], [0,25], [412,25], [0,25])
scala> sqlContext.sql("select * from T where columnB not rlike '^[0-9]*$'").collect()
java.lang.RuntimeException: [1.35] failure: ``in'' expected but `rlike' found
val df = sc.parallelize(Seq(
(412, 0),
(0, 25),
(412, 25),
(0, 25)
)).toDF("columnA", "columnB")
Run Code Online (Sandbox Code Playgroud)
在Apache Spark中有一个RDD.top()API,可以从RDD 返回前k个元素.我想知道这些操作是如何实现的.首先对RDD进行排序然后返回前k个值吗?或者它是否使用其他更有效的实现?
我正在尝试将pandas dataframe列转换为datetime.它完全正常工作,直到我再次卸载并安装python.我使用的是Python 2.7.10,Anaconda 2.4.0(64位).熊猫版'0.17.1'.这是我的代码:
import os, sys
from datetime import date, timedelta
import pandas as pd
import numpy as np
fdf = pd.read_csv(f,delimiter='\t')
fdf['ORDER_DATETIME']=pd.to_datetime(fdf['ORDER_DATETIME'],"%Y/%m/%d %H:%M")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
文件 "... \应用程序数据\本地\连续\ Anaconda2\LIB \站点包\ spyderlib \部件\ externalshell\sitecustomize.py",71行,在EXEC的execfile(编译(scripttext,文件名, 'EXEC'),水珠,loc)
文件 ".../filename.py",线路245,在FDF [ 'ORDER_DATETIME'] = pd.to_datetime(FDF [ 'ORDER_DATETIME'], "%Y /%米/%d%H:%M")
文件"C ...\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\util\decorators.py",第89行,包装返回函数(*args,**kwargs)
文件 "... \应用程序数据\本地\连续\ Anaconda2\LIB \站点包\大熊猫\ T系列\ tools.py",线路276,在to_datetime单位=单位,infer_datetime_format = infer_datetime_format)
文件 "... \应用程序数据\本地\连续\ Anaconda2\LIB \站点包\大熊猫\ T系列\ tools.py",线390,在_to_datetime值= _convert_listlike(arg._values,假,格式)
文件 "... \应用程序数据\本地\连续\ Anaconda2\LIB \站点包\大熊猫\ T系列\ tools.py",线路372,在_convert_listlike require_iso8601 = require_iso8601)
文件"pandas\tslib.pyx",第1847行,在pandas.tslib.array_to_datetime(pandas\tslib.c:37155)
在pandas.tslib.array_to_datetime文件"pandas\tslib.pyx",第1864行(pandas\tslib.c:33604)
Asse田
我是一个火花新手,我想从命令行运行Python脚本.我已经以交互方式测试了pyspark并且它有效.我在尝试创建sc时遇到此错误:
File "test.py", line 10, in <module>
conf=(SparkConf().setMaster('local').setAppName('a').setSparkHome('/home/dirk/spark-1.4.1-bin-hadoop2.6/bin'))
File "/home/dirk/spark-1.4.1-bin-hadoop2.6/python/pyspark/conf.py", line 104, in __init__
SparkContext._ensure_initialized()
File "/home/dirk/spark-1.4.1-bin-hadoop2.6/python/pyspark/context.py", line 229, in _ensure_initialized
SparkContext._gateway = gateway or launch_gateway()
File "/home/dirk/spark-1.4.1-bin-hadoop2.6/python/pyspark/java_gateway.py", line 48, in launch_gateway
SPARK_HOME = os.environ["SPARK_HOME"]
File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'SPARK_HOME'
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 sbt 插件配置为 jenkins,但在 jenkins CI 中安装sbt 插件后,它没有在配置部分显示 sbt 部分。
sbt 配置部分对我不可用。
-->配置系统我在 Windows 中运行 jenkins
我有一张名为的表moviegenre,看起来像:
moviegenre:
- movie (FK movie.id)
- genre (FK genre.id)
Run Code Online (Sandbox Code Playgroud)
我有一个查询(ORM 生成),它返回与给定具有共同点的所有movie.imdb和。genre.idgenre.idmovie.imdb_id
SELECT "movie"."imdb_id",
"moviegenre"."genre_id"
FROM "moviegenre"
INNER JOIN "movie"
ON ( "moviegenre"."movie_id" = "movie"."id" )
WHERE ( "movie"."imdb_id" IN (SELECT U0."imdb_id"
FROM "movie" U0
INNER JOIN "moviegenre" U1
ON ( U0."id" = U1."movie_id" )
WHERE ( U0."last_ingested_on" IS NOT NULL
AND NOT ( U0."imdb_id" IN
( 'tt0169547' ) )
AND NOT ( U0."imdb_id" IN
( 'tt0169547' ) )
AND U1."genre_id" IN ( …Run Code Online (Sandbox Code Playgroud) 我正在尝试按逻辑条件更新pandas数据帧但是,它失败并出现以下错误,
df[df.b <= 0]['b'] = 0
Run Code Online (Sandbox Code Playgroud)
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
我该如何工作?
数据:
df = pd.DataFrame({'a': np.random.randn(4), 'b': np.random.randn(4)})
a b
0 1.462028 -1.337630
1 0.206193 -1.060710
2 -0.464847 -1.881426
3 0.290627 0.650805
Run Code Online (Sandbox Code Playgroud)
我正在学习熊猫.在R中,语法如下,
df[df$b <= 0]$b <- 0
Run Code Online (Sandbox Code Playgroud) 我想检查 lambda 表达式中的字符串是否可以转换为整数。
import re,time
rdd = sc.textFile("file:///home/vdpqa/sample.gz")
new1 = rdd.map(lambda x: re.split('/|\.|\|',x))
.filter(lambda arr: (len(arr) > 9) and isinstance(arr[7],int)).map(lambda x: x[:9])
new = new1.map(lambda x: [x[0],x[1],x[3],
time.strftime('%Y%m%d', time.localtime(int(x[7])/1000000)),x[8]])
Run Code Online (Sandbox Code Playgroud)
我检查了这个问题,但没有帮助:
>>> isinstance(1448379000595770,int)
True
>>> isinstance('1448379000595770',int)
False
Run Code Online (Sandbox Code Playgroud) python ×6
apache-spark ×3
pandas ×3
scala ×2
jenkins ×1
postgresql ×1
pyspark ×1
sbt ×1
sql ×1