我正在尝试使用合并两个数据框
grouped_data = pd.merge(grouped_data, df['Pattern'].str[7:11]
,how='left',left_on='Calc_DRILLING_Holes',
right_on='Calc_DRILLING_Holes')
但是我收到一个错误,说can not merge DataFrame with instance of type <class 'pandas.core.series.Series'>
这里可能是什么问题。我要合并到的原始数据帧是使用以下代码从更大的数据集创建的:
import pandas as pd
raw_data = pd.read_csv(r"C:\Users\cherp2\Desktop\test.csv")
data_drill = raw_data.query('Activity =="DRILL"')
grouped_data = data_drill.groupby([data_drill[
'PeriodStartDate'].str[:10], 'Blast'])[
'Calc_DRILLING_Holes'].sum().reset_index(
).sort_values('PeriodStartDate')
我需要在此处进行哪些更改以使其成为常规的普通数据框?
如果我尝试使用.to_frame()
将它们中的任何一个转换为数据帧,我都会收到一条错误消息,说'DataFrame' object has no attribute 'to_frame'
我对它是哪种数据类型感到困惑。
答案 0 :(得分:2)
调用pd.merge
的两个对象都必须是DataFrame
对象。 grouped_data
是Series
吗?如果是这样,请尝试通过传递DataFrame
而不只是pd.DataFrame(grouped_data)
来将其提升为grouped_data
。