我的数据框中有以下格式的数据:
>>> df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
>>> df
A B C D
0 0.578095 -1.985742 -0.269517 -0.180319
1 -0.618431 -0.937284 0.556290 -1.416877
2 1.695109 0.122219 0.182450 0.411448
3 0.228466 0.268943 -1.249488 3.227840
4 0.005990 -0.805618 -1.941092 -0.146649
5 -1.116451 -0.649854 1.272314 1.422760
Run Code Online (Sandbox Code Playgroud)
我想通过附加行数据和列名称来组合每行的一些列,创建以下输出:
A B New Column
0 0.578095 -1.985742 {"C":"-0.269517","D":"-0.180319"}
1 -0.618431 -0.937284 {"C":"0.556290","D":"-1.416877"}
2 1.695109 0.122219 {"C":"0.182450","D":"0.411448"}
3 0.228466 0.268943 {"C":"-1.249488","D":"3.227840"}
4 0.005990 -0.805618 {"C":"-1.941092","D":"-0.146649"}
5 -1.116451 -0.649854 {"C":"1.272314","D":"1.422760"}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在熊猫中实现这一目标?
最终游戏是获取 JSON 格式的数据,其中列 CD 被视为维度 AB 的度量,然后将它们存储到 Snowflake 的表中。
数据框很大(7-8百万行)。尝试使用chunksize = 5000的to_sql,但从未完成。
使用,
from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
df.to_sql(snowflake_table , engine, if_exists='replace', index=False, index_label=None, chunksize=20000)
Run Code Online (Sandbox Code Playgroud)
从熊猫DF将数据存储到SF的其他最佳解决方案还有哪些?还是我在这里做错了什么?DF的大小通常为7-10百万行。
python sqlalchemy dataframe pandas snowflake-cloud-data-platform