在Python中如何将数据帧分成两个相等的部分(前半行和后半行)

在Python中如何将数据帧分成两个相等的部分(前半行和后半行),python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个数据帧,需要把它分成两个相等的数据帧 第一个数据帧将包含上半行,第二个数据帧将包含其余行 请帮助我们如何使用python实现这一点 同样在偶数行场景和奇数行场景中,就像在奇数行中一样,我需要删除最后一行以使其相等 以df为例: 使用: 以df为例: 使用: 用一个简单的例子,你可以尝试如下: import pandas as pd data = [['Alex',10],['Bob',12],['Clarke',13],['Tom',20],['Jerry',25]] #data = [

我有一个数据帧,需要把它分成两个相等的数据帧

第一个数据帧将包含上半行,第二个数据帧将包含其余行

请帮助我们如何使用python实现这一点

同样在偶数行场景和奇数行场景中,就像在奇数行中一样,我需要删除最后一行以使其相等

以df为例:

使用:

以df为例:

使用:


用一个简单的例子,你可以尝试如下:

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13],['Tom',20],['Jerry',25]]
#data = [['Alex',10],['Bob',12],['Clarke',13],['Tom',20]]
data1 = data[0:int(len(data)/2)]
if (len(data) % 2) == 0:
    data2 = data[int(len(data)/2):]
else:
    data2 = data[int(len(data)/2):-1]

df1 = pd.DataFrame(data1, columns=['Name', 'Age'], dtype=float); print("1st half:\n",df1)
df2 = pd.DataFrame(data2, columns=['Name', 'Age'], dtype=float); print("2nd Half:\n",df2)
输出:

D:\Python>Python temp.py

1st half:
    Name   Age
 0  Alex  10.0
 1   Bob  12.0
2nd Half:
    Name   Age
 0  Clarke  13.0
 1     Tom  20.0

用一个简单的例子,你可以尝试如下:

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13],['Tom',20],['Jerry',25]]
#data = [['Alex',10],['Bob',12],['Clarke',13],['Tom',20]]
data1 = data[0:int(len(data)/2)]
if (len(data) % 2) == 0:
    data2 = data[int(len(data)/2):]
else:
    data2 = data[int(len(data)/2):-1]

df1 = pd.DataFrame(data1, columns=['Name', 'Age'], dtype=float); print("1st half:\n",df1)
df2 = pd.DataFrame(data2, columns=['Name', 'Age'], dtype=float); print("2nd Half:\n",df2)
输出:

D:\Python>Python temp.py

1st half:
    Name   Age
 0  Alex  10.0
 1   Bob  12.0
2nd Half:
    Name   Age
 0  Clarke  13.0
 1     Tom  20.0

请为这两种情况共享一个具有预期输出的示例数据输入。假设我有以下数据框``lst=[Geeks,for,Geeks,is,portal,for,Geeks,Vinay]df=pd.DataFramelst printf``我可以通过像follow``df.headlendf//2``这样的head命令获得相等的上半部,而下半部可以通过tail命令`df.taillendf//2```@MayankPorwal访问。我已经添加了两种情况下的示例数据和预期结果。请注意,在奇数行的情况下,最后一行已被排除。@Kay请检查我的评论,我认为这会对您有所帮助。@VinayKumarShukla它不考虑奇数行的情况。请共享一个示例数据输入和两种情况下的预期输出。假设我有以下数据框``lst=[极客,对于,极客,is,门户,对于,极客,Vinay]df=pd.DataFramelst printf``我可以使用follow``df.headlendf//2``这样的head命令将上半部分取为相等,使用tail命令`df.taillendf//2```@MayankPorwal可以访问下半部分。我已经为这两种情况添加了示例数据和预期结果。注意,在奇数行情况下,最后一行已被排除。@K我可以检查一下我的评论,我认为这会对你有所帮助。@VinayKumarShukla它不能解释奇数行的情况。