python - 根据列值拆分数据框
问题描述
我有一个包含多个 ID 的 df,我正在尝试对数据进行回归,我需要能够按 ID 拆分它以将回归应用于每个 ID:
样本DF(这只是样本真实数据较大)
我试图将 ID 保存在这样的列表中:
id_list = []
for data in df['id'].unique():
id_list.append(data)
列表输出为 [1,2,3]
然后我试图用它来对 DF 进行排序:
def create_dataframe(df):
for unique_id in id_list:
df = df[df['Campaign ID'] == campaign_id]
return df
当我调用该函数时,结果是:
但是我只得到了列表中第一个 ID 的结果,其他 2 [2,3] 没有返回任何 DF ......这意味着在某些时候循环会中断。
这是整个代码:
df = pd.read_csv('budget.csv')
id_list = []
for unique_id in df['id'].unique():
id_list.append(unique_id)
def create_dataframe(df):
for unique_id in id_list:
df = df[df['Campaign ID'] == unique_id]
return df
print(create_dataframe(df))
解决方案
您似乎df
在 for 循环中过夜。我建议将 df 创建移到 for 循环之外,然后将其附加到那里。然后在每个循环中添加它而不是覆盖它。
推荐阅读
- c++ - C++:无法在 lambdas 中捕获“this”上下文 2 次
- c++ - 我可以使用 clang-format 将我的代码格式化为这种样式吗?
- mysql - 在 MySQL 中将 JSON 值设置为 TEXT 变量错误
- javascript - 如何让我的 Etch-A-Sketch 网格在悬停时改变颜色和不透明度?
- ios - 运行子进程cordova时出错,但没有解释
- r - 如何在两个相互依赖的数据集上使用 gganimate
- r - 如何确定哪些 62 行是缺失值?
- c# - 对于不同的 dotnet 发布配置文件,.pdb 文件是否相同
- java - 使用无限循环导入 jar 时 Spring Java 项目未启动 Tomcat
- javascript - 是否有一些 CANVAS 阴影属性,例如 CSS box-shadow 的“展开”属性?