pandas - 重塑、合并、连接 pandas 数据框
问题描述
我有一个如下的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
unpivot 数据框,.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
推荐阅读
- sqlalchemy - SQLAlchemy 抛出完整性错误,“更新或删除表违反外键约束”
- python - excel宏的完整文件路径
- php - php codeigniter网站显示未连接到safari ios手机中的服务器
- c++ - C++ 中的字符串是否没有超出范围的异常/错误?
- python - 正则表达式:直到但不包括组或组
- excel - VBA display XML with hierarchy in cells
- excel - VBA SUB 没有对象集
- reactjs - 如何使用城市名称而不是 lat 并登录 OpenWeather API?
- javascript - 取消选中复选框usestate react hooks时如何从数组中删除项目
- r - 如何在R中为每个组建立一个逆序唯一索引