小编eco*_*omy的帖子

Pandas合并两个具有不同列的数据帧

我肯定在这里遗漏了一些简单的东西.尝试在大多数具有相同列名的pandas中合并两个数据帧,但右侧数据框有一些左侧没有的列,反之亦然.

>df_may

  id  quantity  attr_1  attr_2
0  1        20       0       1
1  2        23       1       1
2  3        19       1       1
3  4        19       0       0

>df_jun

  id  quantity  attr_1  attr_3
0  5         8       1       0
1  6        13       0       1
2  7        20       1       1
3  8        25       1       1
Run Code Online (Sandbox Code Playgroud)

我尝试加入外连接:

mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer")
Run Code Online (Sandbox Code Playgroud)

但那会产生:

Left data columns not unique: Index([....
Run Code Online (Sandbox Code Playgroud)

我还指定了一个要加入的列(on ="id",例如),但是复制除"id"之外的所有列,如attr_1_x,attr_1_y,这是不理想的.我还将整个列列表(有很多)传递给"on":

mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer", on=list(df_may.columns.values))
Run Code Online (Sandbox Code Playgroud)

产量:

ValueError: Buffer has wrong number of dimensions …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas data-munging

37
推荐指数
2
解决办法
6万
查看次数

Barplot savefig()返回一个AttributeError

我正在将一个iPython笔记本转换为一个python脚本,只是试图输出几个Seaborn图的结果作为png文件.码:

import seaborn as sns

...

sns.set_style("whitegrid")
ax = sns.barplot(x=range(1,11), y=[ (x/nrows)*100 for x in addr_pop ], palette="Blues_d")
ax.savefig("html/addr_depth.png")
Run Code Online (Sandbox Code Playgroud)

不要担心变量,它们按预期填充,我在iPyNB中获得了一个漂亮的图表.然而,在脚本中运行代码会产生RuntimeError: Invalid DISPLAY variable.

在另一个线程之后,我修改了代码,将它放在脚本的顶部:

import matplotlib
matplotlib.use('Agg')
Run Code Online (Sandbox Code Playgroud)

并再次尝试.这一次,似乎该savefig()方法根本不适用于该情节:

AttributeError: 'AxesSubplot' object has no attribute 'savefig'
Run Code Online (Sandbox Code Playgroud)

搜索此错误的所有结果都与pandas和已经显示的绘图有关.我只是想让Seaborn将无花果输出到文件中,理想情况下根本不显示它.

任何帮助表示赞赏.

python matplotlib seaborn

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

Hive 分析计算统计查询失败

我正在运行 Hive 1.0,尝试使用内置analyze命令计算列统计信息。HQL 脚本如下所示:

set hive.cbo.enable=true;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;

use db; 
analyze table tbl compute statistics for columns;
Run Code Online (Sandbox Code Playgroud)

这将按预期启动仅地图 MR 任务。对于 map 和 reduce,作业运行到 100%,然后报告:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.ColumnStatsTask
Run Code Online (Sandbox Code Playgroud)

但该作业已注册为SUCCESS.

谷歌搜索让我找到了这张 JIRA 票,但决议表明问题已在 Hive 0.14 中解决。我在查询中遗漏了一些简单的东西吗?

编辑:五年半后,我换了两次工作和行业,选择了 Spark,然后在我所有的工作流程中完全放弃了 Hadoop,世界围绕着不需要新查询语言的高效云数据湖而调整。Hive 对我来说是遥远的记忆,但我希望其他寻求答案的人找到了足够的解决方法。我想我从来没有这样做过。

hive hiveql hadoop2

7
推荐指数
0
解决办法
971
查看次数

当没有正在运行的会话时,Tmux无法连接到`tmux ls`上的服务器错误

我在登录服务器时写一个快速循环来列出现有的tmux会话,具体取决于是否安装了tmux(通过CentOS上的.bashrc).

if rpm -q tmux; then
    echo -e "TMUX sessions running:\n"
    echo `tmux ls`
fi
Run Code Online (Sandbox Code Playgroud)

当tmux有一两个会话时,这很有用,但是如果没有正在运行的tmux会话,我就会得到failed to connect to server: No such file or directory.

有没有办法压制这个?

谢谢!

bash tmux

4
推荐指数
2
解决办法
9875
查看次数

标签 统计

python ×2

bash ×1

data-munging ×1

dataframe ×1

hadoop2 ×1

hive ×1

hiveql ×1

matplotlib ×1

pandas ×1

seaborn ×1

tmux ×1