在 python 中使用 pandas 不需要的空数据框

Unwanted empty dataframe using pandas in python

我正在努力学习 python 现在整整 2 周。我遇到了一个我无法解决的问题。当我在互联网上看到示例时,这似乎很容易做到。尽管如此,我还是无法完成它。

我正在尝试从风速(第 5 列)获取信息并使用它的风站编号(第 0 列)。

我已经可以读取并打印文本文件了:

import pandas as pd

## data
os.chdir('C:\Users\########\sensoren\data')
os.getcwd()
wind = pd.read_csv('weerdata_299_235_242_251_267_277.txt', usecols= [0 ,5 ],skiprows = 33, names = ['STN','FF'])
print(wind)

giving the following results:
       STN     FF
0      229     60
1      229     60
2      229     60
3      229     60
4      229     30
   ...    ...
62779  277     50
62780  277     50
62781  277     50
62782  277     60
62783  277     50

现在我只想获取包含 STN:277 的行的数据。我在哪里使用此代码:

wind_277 = wind[wind['STN'] == '277']
print(wind_277)

结果如下:

Empty DataFrame
Columns: [STN, FF]
Index: []

我不明白为什么这个 DataFrame 是空的。谁能帮我解决这个问题?

我的猜测是因为列 STN 是整数。检查数据类型。 print(wind.dtypes)

如果是整数则去掉277上的字符串注释

wind_277 = wind[wind['STN'] == 277]

但也许它是一个字符串,例如“277”,它有尾随空格。在这种情况下,您需要删除空格。

wind['STN'] = wind['STN'].str.strip()