假设我有一个具有以下值的数据帧:
df:
col1 col2 value
1 2 3
1 2 1
2 3 1
Run Code Online (Sandbox Code Playgroud)
我想首先根据前两列(col1和col2)对我的数据帧进行分组,然后对第二列(值)的值进行平均.所以期望的输出看起来像这样:
col1 col2 avg-value
1 2 2
2 3 1
Run Code Online (Sandbox Code Playgroud)
我使用以下代码:
columns = ['col1','col2','avg']
df = pd.DataFrame(columns=columns)
df.loc[0] = [1,2,3]
df.loc[1] = [1,3,3]
print(df[['col1','col2','avg']].groupby('col1','col2').mean())
Run Code Online (Sandbox Code Playgroud)
得到以下错误:
ValueError: No axis named col2 for object type <class 'pandas.core.frame.DataFrame'>
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
我有一个pandas数据框,如下所示:
Name Missed Credit Grade
A 1 3 10
A 1 1 12
B 2 3 10
B 1 2 20
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
Name Sum1 Sum2 Average
A 2 4 11
B 3 5 15
Run Code Online (Sandbox Code Playgroud)
基本上得到列的总和Credit,并Missed要做到平均上Grade.我现在正在做的是两个groupby Name,然后得到sum和average,最后合并两个输出数据帧,这似乎不是最好的方法.我也在SO上找到了这个,如果我只想在一个列上工作那么有意义:
df.groupby('Name')['Credit'].agg(['sum','average'])
Run Code Online (Sandbox Code Playgroud)
但不确定如何为两列做单线程?
我正在使用以下代码从 S3 读取一些 json 数据:
df = spark_sql_context.read.json("s3a://test_bucket/test.json")
df.show()
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出以下异常:
py4j.protocol.Py4JJavaError: An error occurred while calling o64.json.
: java.lang.NumberFormatException: For input string: "100M"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)
at org.apache.hadoop.conf.Configuration.getLong(Configuration.java:1538)
at org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:248)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3303)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:124)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3352)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3320)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:479)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$org$apache$spark$sql$execution$datasources$DataSource$$checkAndGlobPathIfNecessary$1.apply(DataSource.scala:547)
at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$org$apache$spark$sql$execution$datasources$DataSource$$checkAndGlobPathIfNecessary$1.apply(DataSource.scala:545)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
at scala.collection.immutable.List.foreach(List.scala:392)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:241)
at scala.collection.immutable.List.flatMap(List.scala:355)
at org.apache.spark.sql.execution.datasources.DataSource.org$apache$spark$sql$execution$datasources$DataSource$$checkAndGlobPathIfNecessary(DataSource.scala:545)
at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:359)
at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:223)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:211)
at org.apache.spark.sql.DataFrameReader.json(DataFrameReader.scala:391)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) …Run Code Online (Sandbox Code Playgroud) 我是Keras的新手,刚刚开始研究一些例子.我正在处理以下问题:我有4032个样本并且使用大约650个样本用于拟合或基本上训练状态,然后使用其余的来测试模型.问题是我不断收到以下错误:
Exception: In a stateful network, you should only pass inputs with a number of samples that can be divided by the batch size.
Run Code Online (Sandbox Code Playgroud)
我理解为什么我会收到此错误,我的问题是,如果我的数据大小不能被整除batch_size怎么办?我曾经和Deeplearning4j LSTM一起工作,没有必要处理这个问题.反正有没有解决这个问题?
谢谢
我已经找到了如何使用journalContentUtil.getContent方法在Liferay 6.2主题中嵌入WebContent .我的问题是如何在Liferay 7中做同样的事情?
我有一个大约500列的数据框,这就是为什么我想知道是否有我可以使用head()函数,但想要看到前50列例如.
谢谢
最近我一直在使用 python-igraph 包,我所有的代码都基于我使用 igraph 创建的图形。现在,我需要为我的图计算一些度量,这些度量显然是在 networkx 中实现的,而不是在 igraph 中实现的,例如 (katz_centrality_numpy, edge_betweenness_centrality, ...)。我想知道是否有办法在这两个包之间将一个图形转换为另一个图形,并避免再次读取文件,因为我的文件很大并且必须重复相同的过程。
顺便说一下,当我将 igraph 图传递给 networkx 函数时,我收到以下错误:
TypeError: 'Graph' object is not iterable
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
我终于能够在我的Windows 7 PC上安装ipython,它运行没有任何错误.问题是我曾经在ipython中编码但在MAC中编码.现在我正在尝试上传以前的笔记本,我收到以下错误:
Unreadable Notebook: MyFile.ipynb Unsupported nbformat version 4
Run Code Online (Sandbox Code Playgroud)
我找到了我的问题的答案,但不幸的是,这不适用于Windows,并没有解决我的问题.值得一提的是:
ipython --version
Run Code Online (Sandbox Code Playgroud)
产生:2.3.1
任何帮助或评论都非常感谢.
谢谢
我有两个rdd,它们都是groupby的结果,看起来像:
[(u'1', [u'0']), (u'3', [u'1']), (u'2', [u'0']), (u'4', [u'1'])]
Run Code Online (Sandbox Code Playgroud)
和
[(u'1', [u'3', u'4']), (u'0', [u'1', u'2'])]
Run Code Online (Sandbox Code Playgroud)
如何合并这两个并获得以下内容:
[(u'1', [u'0',u'3', u'4']]), (u'3', [u'1']), (u'2', [u'0']), (u'4', [u'1']),(u'0', [u'1', u'2'])]
Run Code Online (Sandbox Code Playgroud)
我尝试了join命令,但是这并没有给我我想要的结果.任何帮助深表感谢.
我正在尝试在 Athena 中执行 left ourter join,我的查询如下所示:
SELECT customer.name, orders.price
FROM customer LEFT OUTER JOIN order
ON customer.id = orders.customer_id
WHERE price IS NULL;
Run Code Online (Sandbox Code Playgroud)
每个客户在订单表中最多只能有一个订单,而订单表中根本没有订单的客户。所以我期望得到一些记录,其中客户表中有客户,而订单表中没有记录,这意味着当我这样做时LEFT OUTER JOIN,价格将为 NULL。但是这个查询每次运行时都会返回 0。我分别查询了两个表,并且非常确定两个表中都有数据,但不确定为什么如果我删除price IS NULL. 我也尝试过price = '',price IN ('')但没有一个有效。这里有人有过类似的经历吗?或者我的查询有什么问题,我无法看到或识别?