小编Geo*_*oel的帖子

Pandas scatter_matrix - 绘制分类变量

我正在查看来自Kaggle比赛的着名泰坦尼克号数据集:http://www.kaggle.com/c/titanic-gettingStarted/data

我使用以下方法加载和处理数据:

# import required libraries
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

# load the data from the file
df = pd.read_csv('./data/train.csv')

# import the scatter_matrix functionality
from pandas.tools.plotting import scatter_matrix

# define colors list, to be used to plot survived either red (=0) or green (=1)
colors=['red','green']

# make a scatter plot
scatter_matrix(df,figsize=[20,20],marker='x',c=df.Survived.apply(lambda x:colors[x]))

df.info()
Run Code Online (Sandbox Code Playgroud)

来自matplotlib的scatter_matrix

如何在情节中添加像Sex and Embarked这样的分类栏?

python matplotlib pandas kaggle

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

是否可以将交互式 python 窗口链接到正在运行的 jupyter notebook 内核?

我喜欢 VS 代码中连接到远程 jupter 笔记本服务器的新功能。它允许我在 docker 容器中运行 jupyter 并编写代码......

然而,在绘制熊猫表等时,文本输出并不总是最佳的,对于快速迭代来说,最好有例如。散景互动图可用。

所以我在想以下 - 是否可以启动一个 jupyter notebook,然后将 VS Code 连接到相应的内核。基本上,您还可以为正在运行的笔记本连接现有内核的方式。

我现在可以这样做的方式:

  1. 启动 jupyter 笔记本服务器
  2. 开始新笔记本
  3. 在笔记本中执行以下魔术命令 %connect_info
  4. 这将返回一个 json 位和一些指令 - 只需复制 json
  5. 在另一个 bash shell 中,我可以将此 json 写入名为 my_kernel.json 的文件并执行 jupyter console --existing my_kernel.json

现在我的浏览器中有我的笔记本,我的控制台连接到同一个内核。所以我的浏览器中可用的任何变量也可以在我的控制台中使用(反之亦然)。

是否可以在 VSCode 中执行第 5 步之类的操作...

python visual-studio-code jupyter-notebook

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

Pyspark .toPandas()会在对象列中出现期望数值为1的对象

我提取数据仓库中的数据,将其存储在Parquet文件中,然后将所有Parquet文件加载到spark数据框中。到目前为止,一切都很好。但是,当我尝试使用pandas.plot()函数对其进行绘制时,会抛出“ TypeError:空'DataFrame':没有要绘制的数字数据”

因此,我开始向后调查源代码,我认为从初始sql语句转换为十进制是问题之一。但是我不知道如何解决这个问题。我以为fillna(0)可以解决问题,但事实并非如此。

步骤1:定义SQL语句以提取数据

mpr_sql = """
select 
CAST(DATE_KEY  AS INTEGER) AS DATE_KEY ,
CAST(AMD  AS INTEGER) AS AMD ,
CAST(AMD_2  AS DECIMAL(12,2)) AS AMD_2 ,
CAST(AMD_3  AS DECIMAL(12,2)) AS AMD_3 ,
CAST(AMD_4  AS DECIMAL(12,2)) AS AMD_4 ,
CAST(AMD_0  AS DECIMAL(12,2)) AS AMD_0 
"""
Run Code Online (Sandbox Code Playgroud)

步骤2:根据提取的数据创建一个Spark数据框

df1 = sqlContext.load(source="jdbc", 
                         driver="com.teradata.jdbc.TeraDriver", 
                         url=db_url,
                         user=db_user
                         TMODE="TERA",
                         password=db_pwd,
                         dbtable="( "+sql+") a")
Run Code Online (Sandbox Code Playgroud)

步骤3:将spark数据帧存储在具有10个分区的镶木地板文件中

df1.coalesce(10).write.parquet("./mpr"+month+"sorted.parquet")
df = sqlContext.read.parquet('./mpr*sorted.parquet')
Run Code Online (Sandbox Code Playgroud)

步骤4:查看spark数据框架构(显示十进制(12,2))

df.printSchema()
root
 |-- DATE_KEY: integer (nullable = true)
 |-- AMD:   integer (nullable = true)
 |-- AMD_2: decimal(12,2) (nullable …
Run Code Online (Sandbox Code Playgroud)

python pandas apache-spark parquet

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