【发布时间】:2017-07-05 18:45:46
【问题描述】:
所以我需要一点帮助来完成我需要做的事情。所以我写了一些代码,它从一个目录中导入 excel 文件,并将文件放入 5、[0,5)、[5,10) 等的 bin 中。尽管如此,每次 bin 中有一个数字时,计数都会增加。一切都很好,它完成了我需要它做的事情,但我想知道是否有某种方法可以让我随心所欲地改变这个 bin 宽度,但我这样做有点困难。代码是:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import openpyxl
from pandas import ExcelWriter
import os
datadir = '/Users/user/Desktop/Data/'
for file in os.listdir(datadir):
if file.endswith('.xlsx'):
data = pd.read_excel(os.path.join(datadir, file))
counts, bins, patches = plt.hist(data.values, bins=range(0, int(max(data.values)+5), 5))
df = pd.DataFrame({'bin_leftedge': bins[:-1], 'count': counts})
plt.title('Data')
plt.xlabel('Neuron')
plt.ylabel('# of Spikes')
plt.show()
outfile = os.path.join(datadir, file.replace('.xlsx', '_bins.xlsx'))
writer = pd.ExcelWriter(outfile)
df.to_excel(writer)
writer.save()
因此,这会在目录中的所有文件上创建一个循环,并相应地对它们进行分类,并将它们导出为带有结果的单独的 excel 文件。我实际上对编码很陌生,并且肯定会感谢一些帮助,任何帮助实际上将不胜感激。无论如何,我正在考虑使 bin 成为一个命令行参数,我可以使用它来使用特定的参数值独立运行代码,或者其他一些代码可以根据其结果使用一些值调用它。什么是最好的解决方法,请任何帮助将不胜感激。
【问题讨论】:
标签: python excel command-line-arguments