我正在使用Netflix 电影和电视节目数据集来更好地了解熊猫。
date_added列的格式为:“2024 年 9 月 21 日”,据我了解,它将被解析为“%B-%d-%Y”。只需使用 pd.read_csv() 读取即可将此列作为对象类型返回。
使用parse_dates=['date_added']
似乎不起作用,也没有指定格式。这是我的代码:
df = pd.read_csv('netflix_titles.csv', parse_dates=['date_added'], date_format='%B-%d-%Y')
df.info()
导致:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8807 entries, 0 to 8806
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 show_id 8807 non-null object
1 type 8807 non-null object
2 title 8807 non-null object
3 director 6173 non-null object
4 cast 7982 non-null object
5 country 7976 non-null object
6 date_added 8797 non-null object
7 release_year 8807 non-null int64
8 rating 8803 non-null object
9 duration 8804 non-null object
10 listed_in 8807 non-null object
11 description 8807 non-null object
dtypes: int64(1), object(11)
memory usage: 825.8+ KB
我做错什么了?
我在这里发现了几个问题。
date_format
所写)nan
值如何检查:
如何修复:
输出:
问题在于论点
date_format
。你指定%B-%d-%Y
了哪个,September-21-2024
但你需要指定%B %d, %Y
date_format
实际上,您可以完全删除它,parse_dates
因为该列已经是标准格式,所以它会为您推断格式(e.g. "YYYY-MM-DD", "MM/DD/YYYY", "Month DD, YYYY", etc.)
。通常,如果您的日期不是易于推断的标准格式,则仅需要指定日期格式。
您的代码看起来应如下所示:
或者
试试这个
数据集中的某些值
date_added
有一个前导空格。我假设不同的 pandas 版本对此有不同的处理方式。使用 pandas 2.2.3 时,iBeMeltin 的解决方案对我不起作用。然而作品。