小编Nab*_*zir的帖子

如何计算熊猫数据帧上的非字母数字字符

这是我的数据

No  Body
1   DaTa, Analytics 2
2   StackOver. 67%
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出

No  Body                 Non Alphanumeric   
1   DaTa, Analytics 2    1       
2   StackOver. 67%       2  
Run Code Online (Sandbox Code Playgroud)

我只计算非字母数字,如! @ # & ( ) % – [ { } ] : ; ', ? / * 空格,数字不计算

python text non-alphanumeric feature-extraction pandas

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

如何在有效的pandas数据帧中分组分数列表并按日期分组

我有分数数据,我想按自定义分数进行分组.

Id  Date          Score
1   2018-01-01    56
2   2018-01-01    72
3   2018-01-01    91
4   2018-01-01    67
5   2018-01-01    65
6   2018-01-02    75
7   2018-01-02    72
8   2018-01-02    91
9   2018-01-02    82
10  2018-01-02    81
Run Code Online (Sandbox Code Playgroud)

这是我的预期

 Date          <60    60-79   80-100
 2018-01-01      1        3        1
 2018-01-02      0        2        3
Run Code Online (Sandbox Code Playgroud)

我做的是

 result = pd.crosstab(df.Date, df.Score)
 result['<60'] = result['1']+ ... + result['59']
 result['60-79'] = result['60']+ ... + result['79']
 result['80-100'] = result['80']+ ... + result['100']
Run Code Online (Sandbox Code Playgroud)

然后我应该删掉很多专栏

有更好的方法吗?

python pivot-table dataframe pandas

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

如何在python中对列范围求和

这是我的数据

df 

No Name     Address    English  History  Math   Physics  Chemistry  Biology
1  Arthur   New York        80       65   100        89         92       94
2  Barthur  New Mexico      70       60    94        83         82       95
Run Code Online (Sandbox Code Playgroud)

我做的是

df['Science'] = df['Math'] + df['Physics'] + df['Chemistry'] + df['Biology']

我的问题是,实际的数据超过900列,我该如何更换df['Math'] + df['Physics'] + df['Chemistry'] + df['Biology'],从总结df['Math']df['Biology'](按范围)

我希望这个问题足够清楚

python dataframe pandas

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

如何计算pandas数据框(大写和小写)中的元音和辅音?

这是我的数据

No  Body
1   DaTa, Analytics
2   StackOver.
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出

No  Body                 Vowels   Consonant  
1   DaTa, Analytics.     5        8        
2   StackOver.           3        6 
Run Code Online (Sandbox Code Playgroud)

python regex text feature-extraction pandas

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

如何在pandas数据帧上对最大和最小时间戳进行分组

我想对数据集进行分组并返回最大和最小时间戳.这是我的数据

id  timestamp
1   2017-09-17 10:09:01
2   2017-10-02 01:13:15
1   2017-09-17 10:53:07
1   2017-09-17 10:52:18
2   2017-09-12 21:59:40
Run Code Online (Sandbox Code Playgroud)

这是我想要的输出

id    max                   min
1     2017-09-17 10:53:07   2017-09-17 10:09:01
2     2017-10-02 01:13:15   2017-09-12 21:59:40
Run Code Online (Sandbox Code Playgroud)

这就是我所做的,代码似乎没有效率,我希望在熊猫上做更好的方法

data1 = df.sort_values('timestamp').drop_duplicates(['customer_id'], keep='last')
data2 = df.sort_values('timestamp').drop_duplicates(['customer_id'], keep='first')
data1['max'] = data1['timestamp']
data2['min'] = data2['timestamp']
data = data1.merge(data2, on = 'customer_id', how='left')
data = data.drop(['timestamp_x','timestamp_y'], axis=1)
Run Code Online (Sandbox Code Playgroud)

似乎熊猫有这种类型的支点

python pivot pandas

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

显示单个火花列时,“Column”对象不可调用

我是一个新的 spark 用户,之前我来自熊猫背景。这是我的 Spark 数据框

In[75]:  spDF
Out[75]: DataFrame[customer_id: string, name: string]
Run Code Online (Sandbox Code Playgroud)

当我show他们

In[75]:  spDF.show()
Out[75]:

+-----------+-----------+
|customer_id|       name|
+-----------+-----------+
|      25620| MCDonnalds|
|      25620|  STARBUCKS|
|      25620|        nan|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|DUNKINDONUT|
|      25620|   LOTTERIA|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|DUNKINDONUT|
|      25620|DUNKINDONUT|
|      25620|        nan|
|      25620|        nan|
|      25620|        nan|
|      25620|        nan|
|      25620|   LOTTERIA|
|      25620|   LOTTERIA|
|      25620|  STARBUCKS|
+-----------+-----------+ …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas pyspark

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

如何在pandas数据帧上输出第一个非预期结果

这是我的数据集,称之为 df

Id  Name   Math    Physics   Biology   Chemistry
1   Andy   A       B         A         B
2   Bert   B       C         D         A
3   Candy  A       A         A         B
4   Dony   A       A         C         B
Run Code Online (Sandbox Code Playgroud)

期望值是A,第一个非预期值称为需要Need-improvement

Id  Name   Math    Physics   Biology   Chemistry  Need-Improvement
1   Andy   A       B         A         B          Physics       
2   Bert   B       C         D         A          Math 
3   Candy  A       A         A         B          Chemistry
4   Dony   A       A         C         B          Biology
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

如何使用熊猫日期时间将数字转换为日期(通过使用这些数字作为与今天日期的距离)

如何将数字转换为日期(通过使用这些数字作为到今天的距离)。这是我的资料

    id  Number
    1   -3
    2   -1
    3    6
Run Code Online (Sandbox Code Playgroud)

因为今天是04/07/2019这样,它可以转换为

    id  Number  date
    1   -3      01/07/2019
    2   -1      03/07/2019
    3    6      10/07/2019

Run Code Online (Sandbox Code Playgroud)

python date python-3.x pandas

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

如何使用Pandas DataFrame计算字符串中最长连续的连续'0'和数字'1'

我想做的是使用pandas dataframe计算字符串中最长的连续'0'两侧是数字'1'

这是我的数据集

Id     label
1          1
2         11
3        101
4      10101
5       1001
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出

Id     label   result
1          1        0
2         11        0
3        101        1
4      10101        1
5       1001        2
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

替换 Pandas 数据框中的字符串时,位置 0 无需重复

在我的 MySQL 数据库中,用 VARCHAR 调用。然后,我将其导入到 Pandas 数据框。这是我的数据:

data5

id   phone
1     +62634783472
2       0834838483
3              +62
Run Code Online (Sandbox Code Playgroud)

我想要的是将 +62 转换为 0,预期输出将是这样的

id   phone
1       0634783472
2       0834838483
3                0
Run Code Online (Sandbox Code Playgroud)

我已经尝试了两件事,有

data5['phone'] = data5['phone'].str.replace('+62', '0')

data5['phone'] = data5['phone'].replace(to_replace='+62', value='0', regex=True)
Run Code Online (Sandbox Code Playgroud)

结果是:

error: nothing to repeat at position 0
Run Code Online (Sandbox Code Playgroud)

我想念什么?

python pandas

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

如何在熊猫的持续时间计算中排除周末和假期

这是我的数据集,为了确保您知道数据格式,在此之前我做了

df['Datetime_Start'] =  df['Start'].dt.strftime('%D')
df['Datetime_Finish'] =  df['Finish'].dt.strftime('%D')
Run Code Online (Sandbox Code Playgroud)

选定的有趣栏目

No  Datetime_Start    Datetime_Finish
1   13/08/18          31/08/18
1   14/08/18          25/08/18
Run Code Online (Sandbox Code Playgroud)

我期望的输出

No  Datetime_Start    Datetime_Finish    Duration
1   13/08/18          31/08/18           12 Days
1   14/08/18          24/08/18           6 Days
Run Code Online (Sandbox Code Playgroud)

这是因为2018年8月18日、19日、25日和26日是周六和周日,17日和22日是公共假期(印度尼西亚)

这是印度尼西亚公共假期的链接https://publicholidays.co.id/2018-dates/,但如果您只包括 2018 年 8 月 17 日和 22 日来回答问题就可以了,但请将此设置为可配置的,以便我可以手动添加

python timestamp dataframe pandas

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

如何读取 pandas 上的下载 sql 查询

我应该探索下载的数据集,我没有 sql 凭据,我正在使用 jupyter lab,并且 sql 文件与 jupyter 笔记本位于同一文件夹中。

import pandas as pd
pd.read_sql_table('DATA_SPPT.sql')
Run Code Online (Sandbox Code Playgroud)

错误信息

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-4a4c42554a20> in <module>()
----> 1 pd.read_sql_table('DATA_SPPT_OP_BERSAMA.sql')

TypeError: read_sql_table() missing 1 required positional argument: 'con'
Run Code Online (Sandbox Code Playgroud)

这是sql格式的下载,所以我想我不需要描述连接,那么我该怎么办?

python sql database dataset pandas

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

大写pandas中的字符串列

如何以最简单的方式替换多个版本?

这是我的数据:

No  Device
1   asus
2   Xiaomi
3   xiaomi
4   Asus
5   Samsung
Run Code Online (Sandbox Code Playgroud)

我想做到:

No  Device
1   Asus
2   Xiaomi
3   Xiaomi
4   Asus
5   Samsung
Run Code Online (Sandbox Code Playgroud)

我做的是:

f = {'xiaomi':'Xiaomi', 'asus':'Asus'}
df['Device'] = df['Device'].map(f)
Run Code Online (Sandbox Code Playgroud)

但结果是:

No  Device
1   Asus
2   NaN
3   Xiaomi
4   NaN
5   NaN
Run Code Online (Sandbox Code Playgroud)

python string dataframe pandas

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