0

I am trying to learn python now for 2 full weeks. I am encountering a problem witch I can not solve. It's seems very easy to do when I see examples on the internet. Despite that I can't get it done.

I am trying to get information from the wind speed (column: 5) and by using it's wind station number (column:0).

I am already capable of reading the text file and print it:

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

Now I want to get only the data of the rows that contain STN:277 . Where I used this code for:

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

Which gives this result:

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

I do not understand why this DataFrame is empty. Can anyone help me with this?

1
  • Please share wind.dtypes output Commented Mar 17, 2022 at 15:44

1 Answer 1

1

My guess is that it is because the column STN are integers. Check the data types by. print(wind.dtypes)

if it is integers then remove the string note on 277.

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

But maybe it is a string such as '277 ', that has trailing spaces. In this situation you need to remove the spaces.

wind['STN'] = wind['STN'].str.strip()
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.