我正在编写一些代码,我需要一些帮助。我写的代码(在下面发布)必须做几件事情,首先它应该能够从一个文件中创建一个直方图(它会这样做),它会相应地读取和清理它。所以这里是我需要一些帮助的地方,1)我需要找到一种方法来将bin宽度更改为我需要的任意宽度(deltaT),而不必每次都进行硬编码,2)我需要一些帮助能够运行导入python的不同excel文件的代码,并将它们导出为不同的excel文件。我相信,我不太确定我对编码很陌生,我正在处理的是一个Dataframe。代码:自动化直方图以改变excel文件
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import openpyxl
from pandas import ExcelWriter
data = pd.read_excel('/Users/user/Desktop/Data/Book1.xlsx')
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()
writer = pd.ExcelWriter('/Users/user/Desktop/Data/output.xlsx')
df.to_excel(writer,'Sheet2')
writer.save()
我想有另一个Excel文件读取,如下所示:
data2 = pd.read_excel('/Users/user/Desktop/Data/Book2.xlsx')
,然后将其放入代码,并让它运行,但只给出了结果第一个excel文件(输出到另一个excel文件)。我究竟做错了什么?请任何帮助将不胜感激。
更新:所以我能够得到它读取多个文件,并在他们上运行代码,现在唯一我仍然不知道是如何让他们导出为不同的Excel文件他们是(加上箱宽变化)与代码应用于他们。我改变了一下代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import openpyxl
from pandas import ExcelWriter
import os
for file in os.listdir('/Users/user/Desktop/Data'):
data = pd.read_excel('/Users/user/Desktop/Data/{0}'.format(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()
writer = pd.ExcelWriter('/Users/user/Desktop/Data/ouput.xlsx')
df.to_excel(writer)
writer.save()
再次,任何帮助,非常感谢。提前致谢。
因此,我对你的问题的解释是,你正在寻找将直方图保存为excel文件中的图像。它是否正确? – Xukrao
不是,我需要做的是将excel文件分为5个(这是我需要帮助更改的一件事),然后将它们与应用程序箱一起导出到excel文件中(这是它的作用,但仅用于一个文件)。它几乎看起来像一个列表,其数目是多少次之间有一个数字,例如[0,5)有2个数字,数字增加2,等等,其余数据。它读取目录中的多个excel文件应用代码BUT只输出1个excel文件,而不是所有导入的文件。情节只是为了表演。谢谢 –