小编Cou*_*000的帖子

在python中的common列上加入两个数据帧

我有一个数据帧df:

id   name   count
1    a       10
2    b       20
3    c       30
4    d       40
5    e       50
Run Code Online (Sandbox Code Playgroud)

这里我有另一个数据帧df2:

id1  price   rating
 1     100     1.0
 2     200     2.0
 3     300     3.0
 5     500     5.0
Run Code Online (Sandbox Code Playgroud)

我想在列id和id1上加入这两个数据帧(两者都是相同的).这是df3的一个例子:

id   name   count   price   rating
1    a       10      100      1.0
2    b       20      200      2.0
3    c       30      300      3.0
4    d       40      Nan      Nan
5    e       50      500      5.0
Run Code Online (Sandbox Code Playgroud)

我应该使用df.merge还是pd.concat?

python join pandas

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

如何在Hive中过滤出NaN值的行?

我在Hue中运行一个配置单元表的求和函数,并获得NaN的返回值。

这是我的代码:

select sum(v1) from hivedb.tb1;

我不知道为什么它会给我NaN结果。我检查了我的任何v1值是否为空:

select * from hivedb.tb1 where v1 is null;

,结果是没有记录具有空值。该表有1亿行,因此我无法手动检查每条记录。

  1. 有人知道为什么我得到NaN结果吗?
  2. 如果是因为我在某些行中有一些异常值,如何找到它们?

任何帮助表示赞赏。先感谢您!

UPDATE 1 我手动筛选了前1000行,幸运的是在tb1中发现了NaN的一些异常值。这是由于先前步骤中的一些舍入错误造成的。因此,我的问题1可能得到了回答。如果您认为还有其他原因,请随时对此发表评论。

我仍然不知道如何使用一种有效的方法来发现具有NaN值的行。因此,我仍然期待对问题2的任何回答。请随时分享。我感谢您的帮助。

更新2 在下面的“讨论”部分中,通过已接受的答案可以解决该问题。有多种处理方法。

  1. 使用v1 + 1> v1的条件选择。它将选择具有非NaN值的行。
  2. 使用cast(v1 as String)='NaN'的条件选择。它将选择具有NaN值的行。

sql hadoop hive nan hue

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

在 Python 中将数字转换为时间

我有一个很大的 CSV 文件,其中有一列名为 TIME。它写为 1318,我想使用 Python/Pandas 将数据转换为 13:18 并将其视为时间而不是 int64。

我试过这样的事情,但这不是我想要的:

df['TIME'] = pd.to_datetime(df['TIME'])
Run Code Online (Sandbox Code Playgroud)

因为我得到了这个:

    1970-01-01 00:00:00.000001318                           
    1970-01-01 00:00:00.000001041                              
    1970-01-01 00:00:00.000000853
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python datetime pandas

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

如何在Hive中创建表的空副本

我的桌子上有很多列。我不想写像

CREATE TABLE IF NOT EXISTS 
table1( 
col1 int, 
col2 String,
etc....)
Run Code Online (Sandbox Code Playgroud)

有没有一种快速的方法来创建具有相同结构但没有任何数据的表?

hive create-table

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

如何在Hive SQL中选择具有相同前缀(开头)或后缀(结尾)或中间关键字(包括)的列

编辑1:注意,我知道我们中有些人会问为什么不以不同的属性列出信息的不同部分,以便我可以查询关系数据库。实际情况与下面列出的示例不同,此处仅为方便起见使用了变量名。

编辑2:为了减少数据库设计的混乱,我在示例中更改了变量名称。

在Hive查询中,我正在寻找一种选择具有相同前缀或相同后缀或在同一表的变量名称中间包含相同关键字的列的方法。

这是一个示例:我有一个这样的变量列表:

a_A_1, a_A_2, a_B_1, a_B_2,
b_A_1, b_A_2, b_B_1, b_B_2
Run Code Online (Sandbox Code Playgroud)

练习1 我想选择所有以'a'开头的属性。

练习2 我想选择所有以'1'结尾的属性。

练习3 我想选择所有属性,包括'B'

提前非常感谢!

regex hive hive-query

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

标签 统计

hive ×3

pandas ×2

python ×2

create-table ×1

datetime ×1

hadoop ×1

hive-query ×1

hue ×1

join ×1

nan ×1

regex ×1

sql ×1