我有这样的DataFrame
>>> df id name score subject 0001 'bob' 100 'math' 0001 'bob' 67 'science' 0001 'bob' 63 'bio' 0002 'jack' 67 'math' 0002 'jack' 98 'science' 0002 'jack' 90 'bio' 0003 'jack' 60 'math' 0003 'jack' 78 'science' 0003 'rose' 87 'bio'
我想将每个id
数据过滤到一个新的DataFrame中,并根据其id写入Excel文件.因此,上述df
将被过滤到3个DataFrames它ids
是0001
,0002
并且0003
,所有的DataFrames将被写入单独的Excel文件.
首先,获取唯一ID值的列表
uniquevalues = np.unique(df[['id']].values)
然后迭代它并使用CSV文件中的这些ID导出每个数据帧
for id in uniquevalues: newdf = df[df['id'] == id] newdf.to_csv("dataframe "+id+".csv", sep='\t')
如果你只有这三个ID,那么你可以for
手动传递并做同样的事情
newdf = df[df['id'] == "0001"] newdf.to_csv("dataframe0001.csv", sep='\t')
IIUC,在您的示例中,您可以通过以下方式过滤数据框id
:
df1 = df[df['id'] == 0001]
和其他id
值相同.