我有一个如下的df:
df = pd.DataFrame({"location":["north", "south","north"], "store": ["a","b","c"], "date" : ["02112018","02152018","02182018"], "barcode1":["ok", "low","ok"], "barcode2": ["low","zero","zero"], "barcode3": ["ok","zero","low"]})
我想拥有的如下:
我要做的是用下面的代码重复每一行,条形码的次数:
df_1 = pd.DataFrame(np.repeat(df.iloc[:,:3].values,len(df.iloc[0,:3:]),axis=0))
df_1.columns = df.columns[:3]
并具有以下输出:
但是我不知道如何到达df_desired。对不起,我找不到合适的标题。任何帮助,将不胜感激。
您可以通过给您所需的行顺序pd.melt
来取消数据框的透视。.sort_values
store
pd.melt(
df,
id_vars=['location', 'store', 'date'],
var_name='barcode',
value_name='control').sort_values(by=['store'])
location store date barcode control
0 north a 02112018 barcode1 ok
3 north a 02112018 barcode2 low
6 north a 02112018 barcode3 ok
1 south b 02152018 barcode1 low
4 south b 02152018 barcode2 zero
7 south b 02152018 barcode3 zero
2 north c 02182018 barcode1 ok
5 north c 02182018 barcode2 zero
8 north c 02182018 barcode3 low
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句