小编Jon*_*nis的帖子

改变seaborn情节线的颜色

我无法更改 seaborn 中 2d 线的颜色。我的图中有 2 条线,我想为它们分配不同的颜色。

sns.set(style="whitegrid")
data = pd.DataFrame(result_prices, columns=['Size percentage increase'])
data2 = pd.DataFrame(result_sizes, columns=['Size percentage increase'])
sns_plot = sns.lineplot(data=data, color='red', linewidth=2.5)
sns_plot = sns.lineplot(data=data2, linewidth=2.5)
sns_plot.figure.savefig("size_percentage_increase.png")

Run Code Online (Sandbox Code Playgroud)

但是color='red'不变色,为什么呢?

python colors seaborn

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

使用 pandas groupby 查找每周一起购买的商品组合

我有一个df

date            category            subcategory         order_id        product_id       branch
2021-05-04      A                   aa                  10              5                web
2021-06-04      A                   dd                  10              2                web
2021-05-06      B                   aa                  18              3                shop
2021-07-06      A                   aa                  50              10               web
2021-07-06      C                   cc                  10              15               web
2021-07-05      A                   ff                  101             30               shop
2021-10-04      D                   aa                  100             15               shop  
Run Code Online (Sandbox Code Playgroud)

我试图回答一个问题:每周按分支类型一起购买哪些商品类别和子类别。我正在考虑将其分组order_ids并聚合category & subcategorylist 如下所示:

a = (df.set_index('date')
     .groupby(['order_id','branch'])
     .resample('W-MON', label = 'left')
     .agg({'category':list, 'subcategory':list}))

Run Code Online (Sandbox Code Playgroud)

返回:

                                                category            subcategory
order_id        branch          date            [A, A, …
Run Code Online (Sandbox Code Playgroud)

python combinations pandas

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

将 Pandas 数据帧写入 S3 存储桶 (AWS)

我有一个 AWS Lambda 函数,它查询 API 并创建一个数据帧,我想将此文件写入 S3 存储桶,我正在使用:

import pandas as pd
import s3fs

df.to_csv('s3.console.aws.amazon.com/s3/buckets/info/test.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

没有这样的文件或目录:'s3.console.aws.amazon.com/s3/buckets/info/test.csv'

但是该目录存在,因为我正在从那里读取文件。这里有什么问题?

我已经阅读了以前的文件,如下所示:

s3_client = boto3.client('s3')
s3_client.download_file('info', 'secrets.json', '/tmp/secrets.json')
Run Code Online (Sandbox Code Playgroud)

如何将整个数据帧上传到 S3 存储桶?

python amazon-s3 amazon-web-services pandas aws-lambda

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

从 Airflow 触发 AWS Lambda 函数

我在 AWS lambda 中创建了一个函数,如下所示:

import boto3
import numpy as np
import pandas as pd
import s3fs
from io import StringIO


def test(event=None, context=None):
    # creating a pandas dataframe from an api
    # placing 2 csv files in S3 bucket
Run Code Online (Sandbox Code Playgroud)

此函数查询外部 API 并将 2 个csv文件放入 S3 存储桶中。我想在Airflow中触发这个功能,我找到了这段代码:

import boto3, json, typing

def invokeLambdaFunction(*, functionName:str=None, payload:typing.Mapping[str, str]=None):
    if  functionName == None:
        raise Exception('ERROR: functionName parameter cannot be NULL')
    payloadStr = json.dumps(payload)
    payloadBytesArr = bytes(payloadStr, encoding='utf8')
    client = boto3.client('lambda')
    response = …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services aws-lambda airflow

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

谷歌数据工作室没有显示比较

我有 2 个数据源 - 一个是谷歌分析,另一个是来自大查询的表:

在此输入图像描述

我只是想显示两个指标中每天的变化百分比,因此例如在第一个指标中我将显示:

(8239 - 1706) / 8239 * 100
(7802 - 8239) / 7802 * 100
# and so on, just daily percentage change
Run Code Online (Sandbox Code Playgroud)

第二个表与 相同views

在我以前这样使用它之前: 在此输入图像描述

它会告诉我我想要什么,但现在所有的%改变都是-我不明白为什么。

也许这可以通过使用一些自定义来解决SQL

google-bigquery looker-studio

5
推荐指数
0
解决办法
428
查看次数

合并具有多个索引和列值的数据帧

我有两个具有多个索引和日期作为列的数据框:

df1

df1 = pd.DataFrame.from_dict({('group', ''): {0: 'A',
  1: 'A',
  2: 'A',
  3: 'A',
  4: 'A',
  5: 'A',
  6: 'A',
  7: 'A',
  8: 'B',
  9: 'B',
  10: 'B',
  11: 'B',
  12: 'B',
  13: 'B',
  14: 'B',
  15: 'B',
  16: 'C',
  17: 'C',
  18: 'C',
  19: 'C',
  20: 'C',
  21: 'C',
  22: 'C',
  23: 'C',
  24: 'D',
  25: 'D',
  26: 'D',
  27: 'D',
  28: 'D',
  29: 'D',
  30: 'D'},
 ('category', ''): {0: 'Apple',
  1: 'Amazon',
  2: 'Google',
  3: 'Netflix',
  4: 'Facebook', …
Run Code Online (Sandbox Code Playgroud)

python merge multi-index pandas

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

将级别 2 索引添加为具有条件的其他索引的总和

我有一个df

df = pd.DataFrame.from_dict({('group', ''): {0: 'A',
  1: 'A',
  2: 'A',
  3: 'A',
  4: 'A',
  5: 'A',
  6: 'A',
  7: 'A',
  8: 'A',
  9: 'B',
  10: 'B',
  11: 'B',
  12: 'B',
  13: 'B',
  14: 'B',
  15: 'B',
  16: 'B',
  17: 'B',
  18: 'all',
  19: 'all'},
 ('category', ''): {0: 'Amazon',
  1: 'Apple',
  2: 'Facebook',
  3: 'Google',
  4: 'Netflix',
  5: 'Tesla',
  6: 'Total',
  7: 'Uber',
  8: 'total',
  9: 'Amazon',
  10: 'Apple',
  11: 'Facebook',
  12: 'Google',
  13: 'Netflix',
  14: 'Tesla',
  15: …
Run Code Online (Sandbox Code Playgroud)

python indexing pandas

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

使用 pandas 对 1 级索引进行分组和聚合并分配不同的聚合函数

我有一个数据框df

                2019            2020            2021        2022
A       1       10              15              15          31
        2       5               4               7           9
        3       0.3             0.4             0.4         0.7
        4       500             600             70          90
B       1       10              15              15          31
        2       5               4               7           9
        3       0.3             0.4             0.4         0.7
        4       500             600             70          90
C       1       10              15              15          31
        2       5               4               7           9
        3       0.3             0.4             0.4         0.7
        4       500             600             70          90
D       1       10              15              15          31
        2       5               4               7 …
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-groupby

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

使用 pandas 检查两列中是否存在值

我是熊猫新手。

True我正在使用和False值使用方法构建数据框.isin()

我的数据框中有 7 列,我检查每列中是否存在与左侧列相比的值。使用方法效果很好.isin()

问题是我需要检查 A 列或 B 列中是否存在值,以便将 aTrueFalse值放在我的新数据框 C 列上。

例如:

df_1

A     B     C     D
1     a     1     a
a     b     a     
c     c     c     c
d     1           d
Run Code Online (Sandbox Code Playgroud)

我正在检查1A 列中的值是否存在于整个 B、C、D 列中,以及它在哪里,我将一条True语句传递到该列中找到匹配项的那一行。

我正在使用掩码构建新的数据框:

mask_gclid_cloudflare_request_url = final_data.gclid.isin(final_data['Gclid from request url'])
mask_gclid_cloudflare_cookie = final_data.gclid.isin(final_data['Gclid from cookie'])

finalized_export.loc[~mask_gclid_cloudflare_request_url, ['Date from Cloudflare']] = ''
finalized_export.loc[~mask_gclid_cloudflare_cookie, ['Date from Cloudflare']] = ''
Run Code Online (Sandbox Code Playgroud)

我如何使用该方法检查1列 C …

python pandas

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

使用 pandas.to_sql() 时定义数据类型

我正在将 pandas Dataframe 写入 redshift 数据库,pandas.to_sql()如下所示:

from sqlalchemy import create_engine
import pandas as pd

conn = create_engine('postgresql://user:password@redshift-url.amazonaws.com:5439/db')

dataframe.to_sql('table_name', conn, index=False, if_exists='replace', schema='schema_name')
Run Code Online (Sandbox Code Playgroud)

在这个数据帧中,我有timestamp一个看起来像这样的列2020-03-02,但是当我将它写入数据库时​​,它会存储为 varchar 并且我无法使用此列来绘制需要时间戳格式的图表。

使用 pandas.to_sql() 将数据写入数据库时​​有没有办法定义列类型?我不想在我正在编写的表之外创建视图或另一个表,因为那样我需要删除当前表,因为另一个表将与原始表相关,并且我会收到错误cant drop table because other objects depend on it

python postgresql pandas

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