我在 CSV 中打印某些值时遇到问题。
我有一个有 9 列的文件
Record_id Month Day Year Location_id Animal_id Sex Length Weight
Run Code Online (Sandbox Code Playgroud)
和超过 1000 行。
当年份等于 2002 时,我想打印 Month 、 Day 和 Year 列。
因为我有很多数据,所以我决定只处理年份等于 2002 的前 5 行。
这是我的代码:
data.df.iloc[0:5, 1:4]
Run Code Online (Sandbox Code Playgroud)
有了这个,我可以打印我想要的前 5 行和 3 列。但是我不知道如何过滤到 2002 年
合并数据时,我一直遇到错误:
record_id month day year sex
1 7 17 1977 M
2 7 15 1979 M
3 7 26 1978 F
4 7 16 1973 M
Run Code Online (Sandbox Code Playgroud)
我尝试了将月份、日期和年份合并为一列的不同方法:
1. surveys_df['date'] = surveys_df['month'].astype(str) + surveys_df['day'] + surveys_df['year']
2. surveys_df['Date'] = pd.to_datetime(surveys_df[['month', 'day', 'year']])
3. r= pd.to_datetime(surveys_df[['year', 'month', 'day']])
4. surveys_df['date'] = pd.to_datetime(surveys_df[['day','month','year']])
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
ValueError:无法组合日期时间:日期超出范围
我知道我可以通过使用error= 'coerce'来强制它,但我想避免使用该方法。