小编hai*_*men的帖子

使用该列python的平均值减去dataframe中的每一列

我正在寻找一种方法来查找python数据帧中每列的方法,并用该列的平均值减去该列.假设,

df = pd.DataFrame({'a': [1.5, 2.5], 'b': [0.25, 2.75], 'c': [1.25, 0.75]})
Run Code Online (Sandbox Code Playgroud)

我想找到每列的平均值,它们将分别返回(2,1.5,1)和减去1,2,3列中的值.

这会给, a

有人可以帮我这么做吗?

谢谢

python mean centering python-2.7

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

是否可以撤消宏操作?

我想知道我们是否可以通过任何机会撤消宏观行动.我使用Excel工作表作为表单,我有一个提交按钮(宏),它取得工作表的计数总和(基于表单输入)并将其存储在下一个工作表中.

我的问题是,如果我们按下提交按钮而没有完成它,或者我们按两次,我存储在下一张表中的总和就变得不准确了.如果有办法我们可以撤消excel中的宏操作?我尝试使用撤消按钮,但它不适用于宏.有没有办法可以撤消它?

我们可以添加另一个宏来解除之前宏的工作吗?

excel vba excel-vba

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

检查列表中的单词并删除pandas dataframe列中的单词

我有一个如下列表,

remove_words = ['abc', 'deff', 'pls']
Run Code Online (Sandbox Code Playgroud)

以下是我使用列名'string'的数据框

     data['string']

0    abc stack overflow
1    abc123
2    deff comedy
3    definitely
4    pls lkjh
5    pls1234
Run Code Online (Sandbox Code Playgroud)

我想检查pandas dataframe列中remove_words列表中的单词,并删除pandas数据帧中的这些单词.我想检查单独出现的单词,而不是用其他单词出现.

例如,如果pandas df列中有'abc',请将其替换为''但如果它与abc123一起出现,我们需要保持原样.这里的输出应该是,

     data['string']

0    stack overflow
1    abc123
2    comedy
3    definitely
4    lkjh
5    pls1234
Run Code Online (Sandbox Code Playgroud)

在我的实际数据中,我在remove_words列表中有2000个单词,在pandas数据帧中有50亿个记录.所以我正在寻找最有效的方法来做到这一点.

我在python中尝试过很少的东西,没有太大的成功.有人可以帮我这么做吗?任何想法都会有所帮助.

谢谢

python regex replace python-2.7 pandas

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

从一个数据框中获取日期并过滤另一个数据框中的数据

我有两个数据框,

user=c(rep('A',7),rep('B',8))
data = seq(1:15)
date = as.Date(c('2016-01-01','2016-01-02','2016-01-03','2016-01-04','2016-01-05','2016-01-06','2016-01-07','2016-01-08','2016-01-09','2016-01-10','2016-01-11','2016-01-12','2016-01-13','2016-01-14','2016-01-15'))
df = data.frame(user,date,data)

df

        user   date      data
    1     A 2016-01-01    1
    2     A 2016-01-02    2
    3     A 2016-01-03    3
    4     A 2016-01-04    4
    5     A 2016-01-05    5
    6     A 2016-01-06    6
    7     A 2016-01-07    7
    8     B 2016-01-08    8
    9     B 2016-01-09    9
    10    B 2016-01-10   10
    11    B 2016-01-11   11
    12    B 2016-01-12   12
    13    B 2016-01-13   13
    14    B 2016-01-14   14
    15    B 2016-01-15   15
Run Code Online (Sandbox Code Playgroud)

df1 =data.frame(user = c('A','B'), …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

分组依据,取计数并过滤掉计数大于1的条目

以下是我的数据,

data

date             number     value
2016-05-05         1          5
2016-05-05         1          6
2016-05-06         2          7
2016-05-06         2          8
2016-05-07         3          9 
2016-05-08         4          10
2016-05-09         5          11
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令时,

data %>% groupby(date, number) %>% summarize(count = n())
Run Code Online (Sandbox Code Playgroud)

我得到以下信息,

date             number        count 
2016-05-05         1             2
2016-05-06         2             2
2016-05-07         3             1
2016-05-08         4             1
2016-05-09         5             1
Run Code Online (Sandbox Code Playgroud)

现在我想过滤掉与计数大于 1 对应的条目。我想删除计数大于 1 的组合条目。我的输出应该如下所示,

data

date             number     value
2016-05-07         3          9 
2016-05-08         4          10
2016-05-09         5          11
Run Code Online (Sandbox Code Playgroud)

其中前四个条目,因为它的计数大于 1 ,已被过滤掉。有人可以帮我做这件事吗?或者给出一些与之相关的想法?

r dplyr

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

从 RDD 中的单词过滤 Spark 数据帧中的行

我在火花中有以下命令,

data = sqlContext.sql("select column1, column2, column3 from table_name")

words = sc.textFile("words.txt")
Run Code Online (Sandbox Code Playgroud)

words.txt有一堆单词,数据有三个取自table_name.

现在,每当每个单词的单词模式words.txt出现在三列数据中的任何一列时,我都想过滤掉数据中的行(火花数据帧)。

例如,如果words.txt有字,如gon,如果任何数据的三列包含值bygonegone等等,我想筛选出该行。

我尝试了以下方法:

data.filter(~data['column1'].like('%gon%') | data['column2'].like('%gon%') | data['column3'].like('%gon%')).toPandas()
Run Code Online (Sandbox Code Playgroud)

这适用于一个词。但我想检查 中的所有单词words.txt并将其删除。有没有办法做到这一点?

我是 PySpark 的新手。任何的意见都将会有帮助。

python regex apache-spark pyspark spark-dataframe

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

查找R中列组合的NA值的计数

假设我有一个如下数据集,

(dd <- read.table(header = TRUE, text="a    b
1    2
NA   1
1    NA
NA   NA
1    2
NA   3"))

#    a  b
# 1  1  2
# 2 NA  1
# 3  1 NA
# 4 NA NA
# 5  1  2
# 6 NA  3
Run Code Online (Sandbox Code Playgroud)

我在想如何获得两列组合的NA值的计数.我的输出应该是,

No NA - 2
1st column NA - 2
2nd column NA - 1
Both NA - 1
Run Code Online (Sandbox Code Playgroud)

我不知道如何为列组合执行此操作.有谁能够帮我?

r

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

在dplyr中总结日期的最大值 - R.

我有以下数据,

data

date           ID       value1        value2
2016-04-03     1          0              1
2016-04-10     1          6              2
2016-04-17     1          7              3
2016-04-24     1          2              4
2016-04-03     2          1              5
2016-04-10     2          5              6
2016-04-17     2          9              7
2016-04-24     2          4              8
Run Code Online (Sandbox Code Playgroud)

现在我想按ID分组,找到value2的平均值和value1的最新值.在这个意义上的最新价值,我想得到最新日期的价值,即在这里我想得到每个ID的2016-04-24对应值的value1.我的输出应该是,

ID       max_value1      mean_value2
1             2              2.5
2             4              6.5 
Run Code Online (Sandbox Code Playgroud)

以下是我正在使用的命令,

data %>% group_by(ID) %>% summarize(mean_value2 = mean(value2))
Run Code Online (Sandbox Code Playgroud)

但我不知道如何做第一个.在dplyr中总结时,有人可以帮助我获得最新的value1值吗?

r dplyr

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

删除少数列的重复项并对其他列求和

以下是我的数据:

name    id  junk    date    time      value   value2
abc      1   1    1/1/2017  18:07:54    5       10
abc      1   2    1/1/2017  19:07:54    10      15
abc      2   3    2/1/2017  20:07:54    15      20
abc      2   4    2/1/2017  21:07:54    20      25
def      3   5    3/1/2017  22:07:54    25      30
def      3   6    3/1/2017  23:07:54    30      35
def      4   7    4/1/2017  12:07:54    35      40 
def      4   8    4/1/2017  13:07:54    40      45
Run Code Online (Sandbox Code Playgroud)

我想根据三列删除重复项,nameiddate取第一个值。我尝试了以下命令:

data.drop_duplicates(subset=['name', 'id', 'date'],keep = 'first')
Run Code Online (Sandbox Code Playgroud)

我还想将这三列分组并取valuevalue2 …

python aggregate python-2.7 python-3.x pandas

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

在Hive中查询时删除Unicode字符

我想清理unicode Hive表中的数据.以下是数据,

select ('http://10.0.0.1/���m��v������)�a�^�����kn:4�+9x�2c��m�{��')
Run Code Online (Sandbox Code Playgroud)

我需要的输出是查找我的列中是否有任何unicode字符并将其删除.这里的输出应该是,

http://10.0.0.1/
Run Code Online (Sandbox Code Playgroud)

或完全无效.他们中的任何一个都没问题.如果一行包含任何unicode字符,则可以将其完全设为null.

以下是我的尝试,

 select REGEXP_REPLACE('http://10.0.0.1/���m��v������)�a�^�����kn:4�+9x�2c��m�{��', '\\[[:xdigit:]]{4}', '')
Run Code Online (Sandbox Code Playgroud)

 select REGEXP_REPLACE('http://10.0.0.1/���m��v������)�a�^�����kn:4�+9x�2c��m�{��', '[||chr(128)||'-'||chr(255)||]', '')

Executed as Single statement.  Failed [40000 : 42000] Error while compiling statement: FAILED: ParseException line 1:193 mismatched input '<EOF>' expecting ) near ')' in function specification 
Elapsed time = 00:00:00.220 

STATEMENT 1: SELECT Statement failed. 
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我在桌子上清洁这些吗?

谢谢

编辑:

工作的地方,

select REGEXP_REPLACE('"http://r.rxthdr.com/w?i=s�F�""�HY|�K�>�0����D����W8뤒�O0�Q�D�1��Vc~�j[Q��f��{u�Be�S>n���Ò���&��F9���C�i��8:ڔ�_@ĪO��K?�Ēc�6��=��v[�����D�$%��:�a�40ݩ�&O��K��""�0�a<x��TcX���b��TN�}�x�o��UY$K�I�Օ""��(+�M���E�=K�A�I�A���q#l�(�yt�5��h}��~[��YOA��G�=ïˆï¿½{���. �Q���ح;x=�s�0:�', '(?s).*\\P{ASCII}.*', '')
Run Code Online (Sandbox Code Playgroud)

它不工作的地方,

 select REGEXP_REPLACE('c4k0j,}W""d+2|4y0hkCkRh+.{pq80{?X8O>b<:ph.3!{T', '(?s).*\\P{ASCII}.*', '')

 select REGEXP_REPLACE('z|""},}69]6N2|c_;5.su={IU+|8ubq1<r$!Xxy#?Bhkv20:jXNgRh+5fwj:ndfWBJ}e)>','(?s).*\\P{ASCII}.*', '')
Run Code Online (Sandbox Code Playgroud)

图像中的第一个具有unicode字符.但是,粘贴它成为一个点.

在此输入图像描述

你能帮我做这个吗?

regex sql unicode hadoop hive

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