我有两个数据框,其中包含下面提到的列。当我尝试将第二个附加到第一个时,我得到ValueError:计划形状没有对齐错误。
Df1列:
Index([ u'asin', u'view_publish_data',
u'data_viewer', u'relationship_viewer',
u'parent_task_id', u'submission_id',
u'source', u'creation_date',
u'created_by', u'vendor_code',
u'week', u'brand_name',
u'bullet_features', u'color_name',
u'itk', u'item_name',
u'list_price', u'new_brand',
u'product_catagory', u'product_sub_catagory',
u'product_tier_id', u'replenishment_category',
u'size_name', u'cost_price',
u'item_type_keyword', u'our_price',
u'is_shipped_from_vendor', u'manufacturer_vendor_code',
u'product_description', u'vendor_code'],
dtype='object')
df2列:
UIImage *imgCart = [self imageWithImage:[UIImage imageNamed:@"ic_cart"] scaledToSize:CGSizeMake(35, 35)] ;
UIButton *btnCart = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[btnCart addTarget:self action:@selector(btnCartClicked:) forControlEvents:UIControlEventTouchUpInside];
[btnCart setBackgroundImage:imgCart forState:UIControlStateNormal];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btnCart];
-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
// In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
// Pass 1.0 to force exact pixel size.
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
答案 0 :(得分:4)
您可以concat
使用align
对齐DataFrame
的返回元组:
cols1 = pd.Index([ u'asin', u'view_publish_data',
u'data_viewer', u'relationship_viewer',
u'parent_task_id', u'submission_id',
u'source', u'creation_date',
u'created_by', u'vendor_code',
u'week', u'processor',
u'brand_name', u'brand_name_new',
u'bullet_point', u'cost_price',
u'country_of_origin', u'cpu_type',
u'cpu_type_new', u'item_name',
u'item_type_keyword', u'list_price',
u'minimum_order_quantity', u'model',
u'product_category', u'product_site_launch_date',
u'product_subcategory', u'product_tier_id',
u'replenishment_category', u'product_description',
u'style_name', u'vc',
u'vendor_code', u'warranty_description'])
cols2 = pd.Index([ u'asin', u'view_publish_data',
u'data_viewer', u'relationship_viewer',
u'parent_task_id', u'submission_id',
u'source', u'creation_date',
u'created_by', u'vendor_code',
u'week', u'brand_name',
u'bullet_features', u'color_name',
u'itk', u'item_name',
u'list_price', u'new_brand',
u'product_catagory', u'product_sub_catagory',
u'product_tier_id', u'replenishment_category',
u'size_name', u'cost_price',
u'item_type_keyword', u'our_price',
u'is_shipped_from_vendor', u'manufacturer_vendor_code',
u'product_description', u'vendor_code'])
df1 = pd.DataFrame([range(len(cols1))], columns=cols1)
df2 = pd.DataFrame([range(len(cols2))], columns=cols2)
df = pd.concat(list(df1.align(df2)), ignore_index=True)
print (df)
asin brand_name brand_name_new bullet_features bullet_point \
0 0 12 13.0 NaN 14.0
1 0 11 NaN 12.0 NaN
color_name cost_price country_of_origin cpu_type cpu_type_new ... \
0 NaN 15 16.0 17.0 18.0 ...
1 13.0 23 NaN NaN NaN ...
style_name submission_id vc vendor_code vendor_code vendor_code \
0 30.0 5 31.0 9 9 32
1 NaN 5 NaN 9 29 9
vendor_code view_publish_data warranty_description week
0 32 1 33.0 10
1 29 1 NaN 10
[2 rows x 46 columns]