从用Pandas读入的文件中提取数据

2024-06-28 20:46:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我相信我已经用下面的代码所示的“for循环”成功地读入了我的文件。你知道吗

import pandas as pd
import glob

filename = glob.glob('1511**.mnd')
data_nov15_hereford = pd.DataFrame()
frames = []

for i in filename:
  f_nov15_hereford = pd.read_csv(i, skiprows = 33, sep='\s+')
  frames.append(f_nov15_hereford)
data_nov15_hereford = pd.concat(frames)
data_nov15_hereford = data_nov15_hereford.convert_objects(convert_numeric=True)

我现在的问题是我想从文件中取出一些信息。具体来说,我要的是80米的风速。当我只读入一个文件,而不是在多个文件上循环时,代码就像我需要的那样工作,只需执行以下操作:

height = data_nov15_hereford['#']
wspd = data_nov15_hereford["z"]
hub = np.where(height==80)
print hub
hub_wspd = wspd[5:4582:32]

hub\u wspd是我感兴趣的80米风速。我通过打印hub得到索引号5:4582。然后我要做的就是每32行跳过一行,继续从文件中拉出80米的风速。然而,现在我已经阅读了多个文件(这些文件看起来都一样,布局也和这一个文件一样),我似乎不能以同样的方式拉出80米的风速。基本上,我打印出hub并得到索引5:65418,然后我每32行跳过一次,但是当我打印出hub\u wspd的尾部时,它与文件不匹配,所以我一定是做错了什么。你知道为什么它不能处理多个文件而只能处理单个文件吗?我也可以附上一个单一的数据文件副本,如果这会有所帮助。谢谢!你知道吗


Tags: 文件代码importconvertfordataframesfilename