如何浮动到 pandas 中的对象?
How to float to object in pandas?
我有以下数据框:all_data
delay settled_users due_amt prime_tagging pending_users cycle_end_date
0.0 114351 8.095711e+07 Prime_Super 236899 2022-03-15
1.0 160691 5.590400e+07 Prime_Super 190559 2022-03-15
2.0 211160 5.818422e+07 Prime_Super 140090 2022-03-15
3.0 270745 7.271832e+07 Prime_Super 80505 2022-03-15
all_data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 30 entries, 1 to 6
Data columns (total 6 columns):
delay 30 non-null float64
settled_users 30 non-null int64
due_amt 30 non-null float64
prime_tagging 30 non-null object
pending_users 30 non-null int64
cycle_end_date 30 non-null object
dtypes: float64(2), int64(2), object(2)
我想要一个新列 all_data['delay'] + all_data['cycle_end_date']
但这会抛出 TypeError: unsupported operand type(s) for +: 'int' and 'datetime.date'
我该如何实现?请帮忙
pd.to_timedelta(all_data['delay']) + pd.to_datetime(all_data['cycle_end_date'].astype(str))
或者另一个
结果
1 2022-03-15 00:00:00.000000000
2 2022-03-15 00:00:00.000000001
3 2022-03-15 00:00:00.000000002
4 2022-03-15 00:00:00.000000003
5 2022-03-15 00:00:00.000000004
6 2022-03-15 00:00:00.000000005
1 2022-03-15 00:00:00.000000000
将 to_timedelta
与 unit='d'
一起使用几天,并将值添加到日期时间:
all_data['new'] = pd.to_timedelta(all_data['delay'], unit='d') + pd.to_datetime(all_data['cycle_end_date'])
或者:
all_data['new'] = pd.to_timedelta(all_data['delay'], unit='d') + pd.to_datetime(all_data['cycle_end_date'].astype(str))
我有以下数据框:all_data
delay settled_users due_amt prime_tagging pending_users cycle_end_date
0.0 114351 8.095711e+07 Prime_Super 236899 2022-03-15
1.0 160691 5.590400e+07 Prime_Super 190559 2022-03-15
2.0 211160 5.818422e+07 Prime_Super 140090 2022-03-15
3.0 270745 7.271832e+07 Prime_Super 80505 2022-03-15
all_data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 30 entries, 1 to 6
Data columns (total 6 columns):
delay 30 non-null float64
settled_users 30 non-null int64
due_amt 30 non-null float64
prime_tagging 30 non-null object
pending_users 30 non-null int64
cycle_end_date 30 non-null object
dtypes: float64(2), int64(2), object(2)
我想要一个新列 all_data['delay'] + all_data['cycle_end_date']
但这会抛出 TypeError: unsupported operand type(s) for +: 'int' and 'datetime.date'
我该如何实现?请帮忙
pd.to_timedelta(all_data['delay']) + pd.to_datetime(all_data['cycle_end_date'].astype(str))
或者另一个 结果
1 2022-03-15 00:00:00.000000000
2 2022-03-15 00:00:00.000000001
3 2022-03-15 00:00:00.000000002
4 2022-03-15 00:00:00.000000003
5 2022-03-15 00:00:00.000000004
6 2022-03-15 00:00:00.000000005
1 2022-03-15 00:00:00.000000000
将 to_timedelta
与 unit='d'
一起使用几天,并将值添加到日期时间:
all_data['new'] = pd.to_timedelta(all_data['delay'], unit='d') + pd.to_datetime(all_data['cycle_end_date'])
或者:
all_data['new'] = pd.to_timedelta(all_data['delay'], unit='d') + pd.to_datetime(all_data['cycle_end_date'].astype(str))