小编Max*_*Max的帖子

熊猫系列列表到一个系列

我有一个Pandas系列的字符串列表:

0                           [slim, waist, man]
1                                [slim, waistline]
2                                     [santa]
Run Code Online (Sandbox Code Playgroud)

如您所见,列表因长度而异.我想要一种有效的方法将其折叠成一个系列

0 slim
1 waist
2 man
3 slim
4 waistline
5 santa
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用分解列表

series_name.split(' ')
Run Code Online (Sandbox Code Playgroud)

但我很难将这些字符串放回一个列表中.

谢谢!

python string list series pandas

22
推荐指数
5
解决办法
1万
查看次数

用NaN将Json读入Python和Pandas

我知道在JSON文件中不允许使用NaN.我经常使用

import pandas as pd 
pd.read_json('file.json') 
Run Code Online (Sandbox Code Playgroud)

将JSON读入python.浏览文档,我没有看到处理该值的选项.

我有一个JSON文件,data.json,看起来像

[{"city": "Los Angeles","job":"chef","age":30},
 {"city": "New York","job":"driver","age":35},
 {"city": "San Jose","job":"pilot","age":NaN}]
Run Code Online (Sandbox Code Playgroud)

如何将其读入python/pandas并处理NaN值?

编辑:

下面的惊人答案!! 谢谢fixxxer !! 就这样记录下来,从一个单独的文件中读取它

import pandas as pd
import json

text=open('data.json','r')
x=text.read()

y=json.loads(x)
data=pd.DataFrame(y)
data.head()
Run Code Online (Sandbox Code Playgroud)

python json nan pandas

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

PySpark - Spark DataFrame数组是否与Python列表不同?

如果我有Spark DataFrame包含arrays,我可以通过UDF在这些数组上使用Python List方法吗?如何将Spark DataFrame array<double>转换为Python列表?

下面是一个示例,其中包含一些UDF.我不确定为什么采取最大的工作,但采取len不.最后,我想创建一个包含原始数组列中的采样值的新列.如果您也可以提供帮助,那么也会出现关于期待两个参数,奖励积分的错误!

我有以下Spark DataFrame:

from pyspark.sql.functions import udf
from pyspark.sql import Row
from pyspark.sql.types import StringType
from pyspark.sql.types import IntegerType
from pyspark.sql.types import ArrayType
import random

df = sc.parallelize([Row(name='Joe',scores=[1.0,2.0,3.0]),
Row(name='Mary', scores=[3.0]),
Row(name='Mary', scores=[4.0,7.1])]).toDF()
>>> df.show()
+----+---------------+
|name|         scores|
+----+---------------+
| Joe|[1.0, 2.0, 3.0]|
|Mary|          [3.0]|
|Mary|     [4.0, 7.1]|
+----+---------------+
>>> df
DataFrame[name: string, scores: array<double>]
def sampleWithReplacement(listIn,samples):
    tempList = array()
    count=0
    while (count<samples):
        tempList.append(random.sample(listIn,1)[0])
        count=count+1
    return tempList

def maxArray(listIn): …
Run Code Online (Sandbox Code Playgroud)

python dataframe apache-spark apache-spark-sql pyspark

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

在PySpark 2.0中读取序列文件

我有一个序列文件,其值如下

(string_value, json_value)
Run Code Online (Sandbox Code Playgroud)

我不关心字符串值.

在Scala我可以通过阅读文件

val reader = sc.sequenceFile[String, String]("/path...")
val data = reader.map{case (x, y) => (y.toString)}
val jsondata = spark.read.json(data)
Run Code Online (Sandbox Code Playgroud)

我很难将其转换为PySpark.我试过用

reader= sc.sequenceFile("/path","org.apache.hadoop.io.Text", "org.apache.hadoop.io.Text")
data = reader.map(lambda x,y: str(y))
jsondata = spark.read.json(data)
Run Code Online (Sandbox Code Playgroud)

这些错误很神秘,但如果有帮助我可以提供.我的问题是,在pySpark2中读取这些序列文件的正确语法是什么?

我想我没有正确地将数组元素转换为字符串.如果我做一些简单的事情,我会得到类似的错误

m = sc.parallelize([(1, 2), (3, 4)])
m.map(lambda x,y: y.toString).collect()
Run Code Online (Sandbox Code Playgroud)

要么

m = sc.parallelize([(1, 2), (3, 4)])
m.map(lambda x,y: str(y)).collect()
Run Code Online (Sandbox Code Playgroud)

谢谢!

sequencefile apache-spark pyspark

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

按 r 中的键值求和

我有一个看起来像这样的数据集。您可以看到列 X2 具有键值。我想通过 X2 列中的键值对 X1 列中的对值求和。我一直在尝试使用 ddply 或聚合,但我遇到了问题。有没有人有一个简单的方法来做到这一点?

> X1=rnorm(30,mean=20, sd=10)
> X2=rep(1:15,2)
>df= data.frame(X1,X2)
          X1 X2
1  10.065545  1
2   6.938315  2
3   5.657782  3
4  11.371521  4
5  37.037992  5
6  13.443674  6
7   8.868314  7
8   5.944946  8
9  18.493563  9
10 16.059931 10
11 22.520693 11
12 17.172936 12
13 28.676676 13
14 27.200911 14
15 30.560696 15
16 22.435021  1
17 31.143627  2
18 19.234473  3
19 29.329251  4
20 18.420183  5
21 13.184905 …
Run Code Online (Sandbox Code Playgroud)

aggregate r key key-value plyr

-1
推荐指数
1
解决办法
1691
查看次数