我如何使用 pandas 数据框与超出范围的日期时间?
how can I use pandas dataframe with out of bounds datetime?
我有一个这样的数据框:
housing_deals.head()
Out[2]:
price sale_date
0 477,000,000 1396/10/30
1 608,700,000 1396/11/25
2 580,000,000 1396/10/03
3 350,000,000 1396/12/05
4 328,000,000 1396/03/18
如何将 sale_date 列转换为 pandas 日期时间
我看到下面
但是我不能为我的数据框这样做
您可以将值转换为每日周期,检查 docs:
df['sale_date'] = df['sale_date'].apply(lambda x: pd.Period(x, freq='D'))
print (df)
price sale_date
0 477,000,000 1396-10-30
1 608,700,000 1396-11-25
2 580,000,000 1396-10-03
3 350,000,000 1396-12-05
4 328,000,000 1396-03-18
编辑:您可以将值转换为数字,然后将函数与 docs:
一起使用
print (df['sale_date'].str.replace('/','').astype(int))
0 13961030
1 13961125
2 13961003
3 13961205
4 13960318
Name: sale_date, dtype: int32
def conv(x):
return pd.Period(year=x // 10000,
month=x // 100 % 100,
day=x % 100, freq='D')
df['sale_date'] = df['sale_date'].str.replace('/','').astype(int).apply(conv)
print (df)
price sale_date
0 477,000,000 1396-10-30
1 608,700,000 1396-11-25
2 580,000,000 1396-10-03
3 350,000,000 1396-12-05
4 328,000,000 1396-03-18
我有一个这样的数据框:
housing_deals.head()
Out[2]:
price sale_date
0 477,000,000 1396/10/30
1 608,700,000 1396/11/25
2 580,000,000 1396/10/03
3 350,000,000 1396/12/05
4 328,000,000 1396/03/18
如何将 sale_date 列转换为 pandas 日期时间
我看到下面
但是我不能为我的数据框这样做
您可以将值转换为每日周期,检查 docs:
df['sale_date'] = df['sale_date'].apply(lambda x: pd.Period(x, freq='D'))
print (df)
price sale_date
0 477,000,000 1396-10-30
1 608,700,000 1396-11-25
2 580,000,000 1396-10-03
3 350,000,000 1396-12-05
4 328,000,000 1396-03-18
编辑:您可以将值转换为数字,然后将函数与 docs:
一起使用print (df['sale_date'].str.replace('/','').astype(int))
0 13961030
1 13961125
2 13961003
3 13961205
4 13960318
Name: sale_date, dtype: int32
def conv(x):
return pd.Period(year=x // 10000,
month=x // 100 % 100,
day=x % 100, freq='D')
df['sale_date'] = df['sale_date'].str.replace('/','').astype(int).apply(conv)
print (df)
price sale_date
0 477,000,000 1396-10-30
1 608,700,000 1396-11-25
2 580,000,000 1396-10-03
3 350,000,000 1396-12-05
4 328,000,000 1396-03-18