python - 如何将文件拆分为起始索引和结束索引之间的不规则部分?
问题描述
我想将一个文件拆分为 3 个较小的文件。不幸的是,我不能在相同的部分做到这一点,因为我不能从A
两个不同文件中的列中获得相同的唯一值。这就是为什么我在给定的文件中获取结束索引的原因如下:
import pandas as pd
import numpy as np
df = pd.read_excel('ex_1.xls')
x = []
for id, df_i in enumerate(np.array_split(df, 3)):
df2 = df[df['A'] == df_i['A'][-1:].to_string(index=False).strip()][-1:]
x.append(df2.index[0])
print(x)
Example output x:
[15, 67, 122]
这意味着第一个文件应该包含df
索引 1 到 15 之间的数据帧值,第二个文件包含 16 到 67 之间的数据,第三个文件包含 68 到 122 之间的数据。当然,每个文件都必须包含来自主数据帧的标题df
。我怎样才能做到这一点?
解决方案
我相信您可以添加第一个值,然后zip
添加1
索引并选择 in DataFrame.loc
:
x = [15, 67, 122]
y = np.insert(x, 0, 0)
print (y)
[ 0 15 67 122]
dfs = [df.loc[s:e] for s, e in zip(y + 1, y[1:])]
推荐阅读
- jquery - Show/Hide overlapping content below the previous inside Table
- php - 如何在 Woocommerce 中访问受保护的数据?
- php - 是否可以在 Symfony 4 中获取 DBALException 的参数?
- php - 如何在drupal 7视图中使引用的列可排序
- python - SKlearn GBM 特征重要性或“预测”方法的贡献者
- r - R从xlsx dataTable误读时间
- linkedin - Linkedin api v2 - 发布时的问题
- c# - sp2013 中的自动启动工作流因“验证请求时出错。”而暂停,但是
- sql-server - FORMATMESSAGE 是否为一个参数值返回多个字符串?
- html - 如何使用@media查询来调整html中的字体大小以获取特定的宽度范围?