我无法更改 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'不变色,为什么呢?
我有一个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 & subcategory为list 如下所示:
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) 我有一个 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 存储桶?
我在 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) 我有 2 个数据源 - 一个是谷歌分析,另一个是来自大查询的表:
我只是想显示两个指标中每天的变化百分比,因此例如在第一个指标中我将显示:
(8239 - 1706) / 8239 * 100
(7802 - 8239) / 7802 * 100
# and so on, just daily percentage change
Run Code Online (Sandbox Code Playgroud)
第二个表与 相同views。
它会告诉我我想要什么,但现在所有的%改变都是-我不明白为什么。
也许这可以通过使用一些自定义来解决SQL?
我有两个具有多个索引和日期作为列的数据框:
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) 我有一个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) 我有一个数据框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) 我是熊猫新手。
True我正在使用和False值使用方法构建数据框.isin()。
我的数据框中有 7 列,我检查每列中是否存在与左侧列相比的值。使用方法效果很好.isin()。
问题是我需要检查 A 列或 B 列中是否存在值,以便将 aTrue或False值放在我的新数据框 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 …
我正在将 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 ×9
pandas ×7
aws-lambda ×2
airflow ×1
amazon-s3 ×1
colors ×1
combinations ×1
indexing ×1
merge ×1
multi-index ×1
postgresql ×1
seaborn ×1