为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 df 拆分期间保持我的列模式?

如何在 df 拆分期间保持我的列模式?

芜湖不芜 2023-08-22 18:19:04
当我分割数据框时,我需要维护列的模式(“项目类型”)。例如,这是我的数据:例如,我想要实现的目标是:如果我在 10 行后进行拆分,那么我仍希望包含第 11 行,因为它是模式的一部分。这里的模式是一个“产品”、x“SKU”数量,后跟y“规则”数量。该模式内的任何分割都应包括整个模式。我当前的代码:import pandas as pdimport numpy as npdf = pd.read_csv("bracelet_no_variants.csv")l=[i*1000 for i in range(len(df)//1000+1)]+[len(df)]for i in range(len(l)-1):    temp=df.iloc[l[i]:l[i+1]]    temp.to_csv('bracelet_no_variants_'+str(l[i+1])+'.csv')我是否需要添加 if/else 语句?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

这是一个通用的解决方案,给定多行,将找到带有“Product”的下一行,然后包含到该点的所有行。


例如,给定n=7:


n = 7

df_after = df.iloc[n:]

new_idx = df_after.loc[df_after['Item Type'] == 'Product'].index[0]

res = df.loc[:new_idx].iloc[:-1]

会给:


    Item Type

1     Product

2         SKU

3         SKU

4         SKU

5         SKU

6         SKU

7        Rule

8        Rule

9        Rule

10       Rule

11       Rule

该代码应该独立于索引值工作,即索引可以是任何内容,只要没有重复项即可。


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信