我有这段代码操纵数据集以通过从现有列中提取信息来创建新列。为了使用另一个数据集使用pd.merge函数正确地匹配数据,我想将'Channel ID'列转换为整数。尽管目前使用.astype(INT)的结果数据类型显示为float64与.INFO()看着框架未能将pandas数据框中的列转换为整数数据类型
def cost(received_frame):
received_frame.columns = ['Campaign', 'Ad Spend']
campaigns = received_frame['Campaign']
ID = []
for c in campaigns:
blocks = re.split('_', c)
for block in blocks[1:]:
if len(block) == 6 and block.isdigit():
ID.append(block)
ID = pd.Series(ID).str.replace("'","")
ID = pd.DataFrame(ID)
both = [ID,received_frame]
frame = pd.concat(both,axis=1)
frame.columns = ['Channel ID', 'Campaign', 'Ad Spend']
frame['Channel ID'] = frame['Channel ID'].dropna().astype(int)
return frame
如果您可以共享您正在处理的数据,这将有所帮助。 –