熊猫加入不同的数据类型

时间:2019-11-20 14:21:30

标签: python pandas

我试图了解尝试使用.join()时哪个数据集或联接键引发以下错误

错误:ValueError: You are trying to merge on datetime64[ns] and int64 columns. If you wish to proceed you should use pd.concat

我知道我试图在两个数据集之间联接的日期键的格式显然存在问题,但是我不确定这是否与我如何设置索引有关数据集或数据类型转换。

主表(df):

date_range_start = '2018-01-01'
date_range_end = '2020-12-31'

data_date_range = pd.date_range(start=date_range_start, end=date_range_end)
weekday = data_date_range.day_name()
df = pd.DataFrame({'date': data_date_range, 'weekday': weekday}).set_index('date')

主表数据类型:

types = df.dtypes
print(types)

weekday    object
dtype: object

表已加入(holiday_table):

holiday_table = pd.DataFrame(columns=['date', 'holiday_name']).set_index('date')

# CorporateHolidays(years=[2018,2019,2020]) Structure
for date, name in sorted(holidays.US(years=[2018,2019,2020]).items()):
    holiday_table = holiday_table.append({'date': pd.to_datetime(date), 'holiday_name':name}, ignore_index=True)

表被联接的类型:

print(holiday_table.dtypes)

holiday_name            object
date            datetime64[ns]
dtype: object

加入代码:

df.join(holiday_table, on='date')

0 个答案:

没有答案