小编Rak*_*van的帖子

如何在Python Pandas中设置Dataframe图的标记样式?

我使用df.plot()来获取这个情节:

在此输入图像描述

我想将标记样式更改为圆形,以使我的绘图看起来像这样:

在此输入图像描述

另外,有没有办法在每个标记点上方显示y轴值?

python pandas

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

将目录中的多个JSON文件读取到一个数据框中

library(rjson)
filenames <- list.files(pattern="*.json") # gives a character vector, with each file name represented by an entry
Run Code Online (Sandbox Code Playgroud)

现在,我想将所有JSON文件作为一个dataFrame导入到R中。我怎么做?

我第一次尝试

myJSON <- lapply(filenames, function(x) fromJSON(file=x)) # should return a list in which each element is one of the JSON files
Run Code Online (Sandbox Code Playgroud)

但是上面的代码要花一些时间才能终止,因为我有15,000个文件,而且我知道它不会返回单个数据帧。有更快的方法吗?

样本JSON文件:

 {"Reviews": [{"Ratings": {"Service": "4", "Cleanliness": "5"}, "AuthorLocation": "Boston", "Title": "\u201cExcellent Hotel & Location\u201d", "Author": "gowharr32", "ReviewID": "UR126946257", "Content": "We enjoyed the Best Western Pioneer Square....", "Date": "March 29, 2012"}, {"Ratings": {"Overall": "5"},"AuthorLocation": "Chicago",....},{...},....}]}
Run Code Online (Sandbox Code Playgroud)

r

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

将值设置为DataFrame切片的副本

我正在设置以下示例,它类似于我的情况和数据:

说,我有以下DataFrame:

df = pd.DataFrame ({'ID' : [1,2,3,4],
             'price' : [25,30,34,40],
             'Category' : ['small', 'medium','medium','small']})
Run Code Online (Sandbox Code Playgroud)


  Category  ID  price
0    small   1     25
1   medium   2     30
2   medium   3     34
3    small   4     40
Run Code Online (Sandbox Code Playgroud)

现在,我有以下功能,它根据以下逻辑返回折扣金额:

def mapper(price, category):
    if category == 'small':
        discount = 0.1 * price
    else:
        discount = 0.2 * price
    return discount
Run Code Online (Sandbox Code Playgroud)

现在我想要生成的DataFrame:

  Category  ID  price Discount
0    small   1     25      0.25
1   medium   2     30      0.6
2   medium   3     40      0.8
3    small   4     40      0.4 …
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

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

在正则表达式匹配中提取组

我有一组输入。我正在尝试编写一个正则表达式来匹配输入中的以下模式:

时间的位置

示例输入:

今天,下午12:30Sam的客厅

文本的粗体部分在每个输入中都不同。

我写了以下正则表达式:

import regex as re

input_example = "Today at 12:30 PM on Rakesh's Echo"
regexp_1 = re.compile(r'(\w+) at (\d+):(\d+) (\w+) on (\w+)')
re_match = regexp_1.match(input_example)
Run Code Online (Sandbox Code Playgroud)

哪个有效,我正在匹配正确的模式。我现在试图从模式中提取组。

我想要的输出是:

re_match.group(1)
>> "Today"
re_match.group(2)
>> "12:30 PM"
re_match.group(3)
>> "Sam's living room"
Run Code Online (Sandbox Code Playgroud)

但是,我当前的正则表达式匹配没有给我这个输出。什么是正确的正则表达式,可以给我上述输出?

python regex

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

如何在Windows上构建scikit学习?

当我运行脚本:从cmd安装python setup.py时,我收到以下错误消息:

ImportError:没有名为sklearn._build_utils的模块

安装后:

  • 用于Windows的Python 2.7.2 64位
  • Enthought Canopy有sciPy,NumPy和matplotlib
  • setuptools的
  • scikit学习-0.13.1.win32-py2.7

python python-2.7 scikit-learn

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

从Pandas dataFrame中删除重复项,并保留原始条件

假设我有以下DataFrame:

 A | B
 1 | Ms
 1 | PhD
 2 | Ms
 2 | Bs
Run Code Online (Sandbox Code Playgroud)

我想删除关于A列的重复行,并且我想保留B列中值为'PhD'的行作为原始行,如果我没有找到'PhD',我想保留行B栏中的"B".

我正在尝试使用

 df.drop_duplicates('A') 
Run Code Online (Sandbox Code Playgroud)

有条件的

python dataframe pandas

4
推荐指数
3
解决办法
8669
查看次数

如何在PySpark Dataframe列中将日期转换为月的第一天?

我有以下DataFrame:

+----------+
|      date|
+----------+
|2017-01-25|
|2017-01-21|
|2017-01-12|
+----------+
Run Code Online (Sandbox Code Playgroud)

以下是DataFrame上面创建的代码:

import pyspark.sql.functions as f
rdd = sc.parallelize([("2017/11/25",), ("2017/12/21",), ("2017/09/12",)])
df = sqlContext.createDataFrame(rdd, ["date"]).withColumn("date", f.to_date(f.col("date"), "yyyy/MM/dd"))
df.show()
Run Code Online (Sandbox Code Playgroud)

我想要一个新列,每行的第一个日期,只需在所有日期将日期替换为"01"

+----------++----------+
|      date| first_date|
+----------++----------+
|2017-11-25| 2017-11-01|
|2017-12-21| 2017-12-01|
|2017-09-12| 2017-09-01|
+----------+-----------+
Run Code Online (Sandbox Code Playgroud)

PySpark.sql.function中有一个last_day函数,但是没有first_day函数.

我尝试使用date_sub执行此操作但不起作用:我得到一个列而不是Iterable错误,因为date_sub的第二个参数不能是一个列而必须是一个整数.

f.date_sub(f.col('date'), f.dayofmonth(f.col('date')) - 1 )
Run Code Online (Sandbox Code Playgroud)

python apache-spark apache-spark-sql pyspark

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

如何读取通过追加行不断更新的文件?

在我的终端中我正在运行:

curl --user dhelm:12345 \https://stream.twitter.com/1.1/statuses/sample.json > raw-data.txt
Run Code Online (Sandbox Code Playgroud)

curl 的输出是实时流式 Twitter 数据,该数据正在写入文件 raw-data.txt

在Python中,

 import json
 posts = []

 for line in open("/Users/me/raw-data.txt"):
    try:
        posts.append(json.loads(line))
    except:
        pass
Run Code Online (Sandbox Code Playgroud)

我正在 python 中读取文件并使用 json 解码器并将结果附加到帖子中。

现在,问题是我不希望我的程序在 python 脚本到达文件末尾时结束。相反,当我的终端上运行的curl 将更多帖子附加到文件raw-data.txt 时,我想继续阅读。

python json curl file

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

如何解析DataFrame列中的所有值?

DataFrame df有一个名为amount的列

import pandas as pd
df = pd.DataFrame(['$3,000,000.00','$3,000.00', '$200.5', '$5.5'], columns = ['Amount'])
Run Code Online (Sandbox Code Playgroud)

DF:

 ID | Amount
 0  | $3,000,000.00
 1  | $3,000.00
 2  | $200.5
 3  | $5.5
Run Code Online (Sandbox Code Playgroud)

我想解析列量中的所有值并将数量提取为数字并忽略小数点.最终结果是DataFrame,如下所示:

 ID | Amount
 0  | 3000000
 1  | 3000
 2  | 200
 3  | 5
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

python pandas

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

如何将由空格分隔的文本文件读入DataFrame?

我有一个以这种方式格式化的文本文件:

A00     0010  00000
A001    0011  00000
A00911  0019  00000
A0100   0020  10000
Run Code Online (Sandbox Code Playgroud)

我想将此文件读入DataFrame.所以我尝试过:

import pandas as pd
path = *file path*
df = pd.read_csv(path, sep = '\t', header = None)
Run Code Online (Sandbox Code Playgroud)

我得到的是一个包含4行和1列的DataFrame.

                         0
0      A00     0010  00000
1      A001    0011  00000
2      A00911  0019  00000
3      A0100   0020  10000

[4 rows x 1 columns]
Run Code Online (Sandbox Code Playgroud)

这是因为值不是由"\ t"分隔的.列之间的空格数在每行中有所不同,具体取决于字符串的长度.

所需的DataFrame应该有四行三列.

          0       1      2  
0      A000    0010  00000
1      A001    0011  00000
2      A009    0019  00000
3      A0100   0020  10000

[4 rows x 3 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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