gpt4 book ai didi

python - csv.DictReader/csv.DictWriter 与 Panda 库数据框 -

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:56 24 4
gpt4 key购买 nike

我正在尝试用 Python 编写一个程序:

  • 从 CSV 文件读取数据,数据按日期排序
  • 通过查找过去 365 天(从 csv 文件中最后一个数据点的日期算起过去 365 天)来选择一些键和值,
  • 导出到另一个 csv new_file
  • 根据写入 new_file 的数据绘制折线图(导出为图像文件)

我是 Python 新手,一直在研究:

  • csv.DictReader(csv_file)/csv.DictWriter
  • Panda 库 DataFrame

我的问题是哪种数据结构最适合我想要实现的目标:字典还是 Panda DataFrame?

到目前为止,我发现 Panda DataFrame 结构使用起来相当麻烦。我如何从最新数据点的日期(和格式)中选择过去 365 天。

数据输入示例:

date    txVolume(USD)   adjustedTxVolume(USD)   txCount marketcap(USD)  price(USD)  exchangeVolume(USD) generatedCoins  fees    activeAddresses averageDifficulty   paymentCount    medianTxValue(USD)  medianFee   blockSize   blockCount
04/05/2018 7837824038 4235399151 218931 1.65E+11 9695.5 8217829888 1725 39.37853649 695603 4.02E+12 395233 395.3934459 4.04E-05 134387026 138

最佳答案

Pandas 有一定的学习曲线,但是一旦您熟悉了它们,您就会爱上它们。查看一种简单的解决方案来解决您的问题。干杯。

import pandas as pd
import matplotlib.pyplot as plt
from datetime import timedelta

df = pd.read_csv(r"your-folder\dates.csv", parse_dates=[0]) # assuming dates are in the first column
df.sort_values(by="date", ascending=False, inplace=True)
last_date = df["date"].max().date()
start_date = df["date"].max().date() - timedelta(days=365)
dfRange = df[(df["date"].dt.date >= start_date) & (df["date"].dt.date <= last_date)]

plt.scatter(dfRange["txCount"],dfRange["txVolume(USD)"])
plt.xlabel("txCount")
plt.ylabel("txVolume(USD)")
plt.savefig(r"target-location\dates.png")
plt.close()

关于python - csv.DictReader/csv.DictWriter 与 Panda 库数据框 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55198021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com