首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用Python中的Pandas拆分数据集?

如何用Python中的Pandas拆分数据集?
EN

Stack Overflow用户
提问于 2018-06-13 06:34:55
回答 1查看 0关注 0票数 0

我有一份清单:

代码语言:txt
复制
ac = [2,3,4]

除了列表ac中提到的行之外,我需要DataFrame中的所有内容。

我试过:

代码语言:txt
复制
dataframe.iloc[:-a, :]

但我有错误。

我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 15:46:54

我认为有必要违约RangeIndex获取索引值的值Index.differenceac并按DataFrame.loc:

代码语言:txt
复制
df = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'F':list('aaabbb')})

print (df)
   A  B  C  D  E  F
0  a  4  7  1  5  a
1  b  5  8  3  3  a
2  c  4  9  5  6  a
3  d  5  4  7  9  b
4  e  5  2  1  2  b
5  f  4  3  0  4  b

ac = [2,3,4]
idx = df.index.difference(ac)
df = df.loc[idx]

print (df)
   A  B  C  D  E  F
0  a  4  7  1  5  a
1  b  5  8  3  3  a
5  f  4  3  0  4  b

按列表中定义的位置筛选的所有索引的通用解决方案ac带着numpy.setdiff1dnumpy.arange并按DataFrame.iloc:

代码语言:txt
复制
df = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'F':list('aaabbb')}, index=list('ABCDEF'))

print (df)
   A  B  C  D  E  F
A  a  4  7  1  5  a
B  b  5  8  3  3  a
C  c  4  9  5  6  a
D  d  5  4  7  9  b
E  e  5  2  1  2  b
F  f  4  3  0  4  b

ac = [2,3,4]
pos = np.setdiff1d(np.arange(len(df.index)), ac)
df = df.iloc[pos]
print (df)
   A  B  C  D  E  F
A  a  4  7  1  5  a
B  b  5  8  3  3  a
F  f  4  3  0  4  b
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档