gpt4 book ai didi

python - 使用 python 脚本推断 excel 文件中的数据

转载 作者:行者123 更新时间:2023-11-29 16:08:41 26 4
gpt4 key购买 nike

我有一些国家/地区的给定数据集,其中包含以下字段:

DATE
SOURCE COMPANY
DESTINATION COMPANY
QUANTITY
UNITS

我有 2 天的数据,我需要用每个公司的日期和数量值推断一年的数据,并在 Excel 中打印结果。

我需要将每个公司 x 1 行交付给每个公司 y,为期 1 年。日期可以是从 2018 年至今,数量可以有 +/- 100 的差异。

代码

import pandas as pd 
import numpy as np
import os
import datetime
import random
import sys
from datetime import timedelta

df = pd.read_csv("Location")
df_1 = df
for i in range(1,366):
for i in range(0,df.shape[0]):
df['Quantity'][i] = df['Quantity'][i] + random.randint(-100,100)
df['Date'][i] = pd.to_datetime(df['Date'])[i] + timedelta(days = -1)

df_1 = pd.concat([df_1,df])
df_1.to_csv("Extrapolated_data.csv",sep = '')

但是它消耗的时间是 Not Acceptable ,我该如何让它变得更好

最佳答案

我认为您在问题评论中发布的代码存在一些问题,您必须注意:

    df_1.to_csv() 参数中的
  1. sep 需要设置为字符,即“,”或“;” (请参阅 here ),否则,如果您不想使用其他分隔符,则只需省略它即可“,”
  2. 您的源文件中没有 .csv 扩展名(这可能完全没问题)
  3. 分配df_1 = df不仅会复制DataFrame的列/元数据,还会复制DataFrame包括所有数据。这将产生一个包含原始数据和生成数据的文件。

更新代码

由于我对 pandas 还很陌生,所以我看不到只迭代行的方法,而是必须迭代行和列,从而产生下面的代码。我的示例文件总共大约有 40 行,结果文件大约有 13.000 行,文件大小为 619 KB。创建时间为 60,007 秒。从代码中删除时间计算和随机性将创建时间减少到 54.38 秒。这不是 super 快,但我也不认为这是 super 慢。

import pandas as pd 
import numpy as np
import os
import datetime
import random
import sys
from datetime import timedelta
from timeit import default_timer as timer

df = pd.read_csv("orders.csv")
df_1 = pd.DataFrame(columns=df.columns)
start = timer()

for d in range(1,366):
for index, dfc in df.iterrows():

dfc['Quantity'] = dfc['Quantity'] + random.randint(-100,100)
dfc['Date'] = pd.to_datetime(dfc['Date']) + timedelta(days = -d)
df_1 = df_1.append(dfc, ignore_index=True)

print("Loop ",d)

end = timer()
print(end - start)

df_1.to_csv("Extrapolated_data.csv",sep = ',')

关于python - 使用 python 脚本推断 excel 文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55495395/

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