在Pandas中每隔一行进行子集划分?

2024-10-16 20:53:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我面临一个棘手的问题,我想从一个数据帧中,将其他每一列子集到另一个数据帧中,并将其从原始数据帧中删除。以下是一个例子:

firstname  = ['John', 'Eric', 'Sarah', 'Kate']
lastname = ['Adams', 'Firth', 'Smith', 'Johnson']
df = pd.DataFrame({"First": first, "Last":last})

理想情况下,我希望的输出是:原始数据帧包含名为John和Sarah的记录,第二个数据帧包含名为Eric和Kate的记录

任何帮助都将不胜感激


Tags: 数据原始数据记录firstnamejohn子集例子smith
2条回答

使用indexing然后使用^{}

df1 = df[::2].copy()
df.drop(df1.index, inplace=True)

print(df1)
   First   Last
0   John  Adams
2  Sarah  Smith

print(df)
  First     Last
1  Eric    Firth
3  Kate  Johnson

使用,iloc

df1, df2 = df.iloc[::2,:], df.iloc[1::2,:]

df1输出:

    First    Last
0   John    Adams
2   Sarah   Smith

以及, df2输出:

   First    Last
1   Eric    Firth
3   Kate    Johnson

相关问题 更多 >