相关疑难解决方法(0)

将数据帧拆分为多个数据帧

我有一个非常大的数据帧(大约100万行)和实验数据(60个受访者).我想将数据帧拆分为60个数据帧(每个参与者的数据帧).

在数据框(称为= data)中,有一个名为"name"的变量,它是每个参与者的唯一代码.

我尝试了以下,但没有任何反应(或者不会在一小时内停止).我打算做的是将数据帧(数据)拆分成更小的数据帧并将它们附加到列表(datalist):

import pandas as pd

def splitframe(data, name='name'):

    n = data[name][0]

    df = pd.DataFrame(columns=data.columns)

    datalist = []

    for i in range(len(data)):
        if data[name][i] == n:
            df = df.append(data.iloc[i])
        else:
            datalist.append(df)
            df = pd.DataFrame(columns=data.columns)
            n = data[name][i]
            df = df.append(data.iloc[i])

    return datalist
Run Code Online (Sandbox Code Playgroud)

我没有收到错误消息,脚本似乎永远都会运行!

有一种聪明的方法吗?

python split dataframe pandas

72
推荐指数
6
解决办法
13万
查看次数

Pandas:根据列中的空值拆分数据框

我有一个如下所示的数据框:

data = [['lynda', 10,'F',125,'5/21/2018'],['tom', np.nan,'M',135,'7/21/2018'], ['nick', 15,'F',99,'6/21/2018'], ['juli', 14,np.nan,120,'1/21/2018'],['juli', 19,np.nan,140,'10/21/2018'],['juli', 18,np.nan,170,'9/21/2018']]
df = pd.DataFrame(data, columns = ['Name', 'Age','Gender','Height','Date'])

df
Run Code Online (Sandbox Code Playgroud)

快照

如何根据性别的 np.NaN 值转换数据框?

我希望将原始数据帧 df 拆分为 df1(Name,Age,Gender,Height,Date) ,其中包含性别值(df 的前 3 行)

AND 其中df2(Name,Age,Height,Date)不会有性别列(df 的最后 3 行)

python dataframe pandas

4
推荐指数
1
解决办法
7815
查看次数

Pandas 按唯一列值拆分数据框

我有一个数据框正在输出到名为“所有数据”的电子表格中。假设此数据包含企业地址(街道、城市、邮政编码、州的列)。但是,我还想为包含完全相同的列的每个唯一状态创建一个工作表。

我的基本想法是使用迭代每一行df.iterrows()并通过将数据帧附加到新的数据帧来划分数据帧,但这似乎效率极低。有一个更好的方法吗?

我找到了这个答案,但这只是一个布尔索引。

python dataframe pandas

3
推荐指数
1
解决办法
8899
查看次数

标签 统计

dataframe ×3

pandas ×3

python ×3

split ×1