基于一列中的数据拆分大型pandas数据文件



我有一个较大的csv文件,我想根据其中一列中的数据将其拆分为单独的数据文件,以便可以分析所有相关数据。

ie. [name, color, number, state;
bob, green, 21, TX;
joe, red, 33, TX;
sue, blue, 22, NY;
....]

我想让它把每个状态值的数据放到它自己的数据子文件

df[1] =[bob, green, 21, TX][joe, red, 33, TX]

df[2] =[sue, blue, 22, NY]

Pandas似乎是最好的选择,因为给定的csv文件大约有500行长

您可以尝试这样做:

import pandas as pd
for state, df in pd.read_csv("file.csv").groupby("state"):
df.to_csv(f"file_{state}.csv", index=False)

这里file.csv是您的基本文件。如果看起来像

name,color,number,state
bob,green,21,TX
joe,red,33,TX
sue,blue,22,NY

输出将是2个文件:

file_TX.csv:

name,color,number,state
bob,green,21,TX
joe,red,33,TX

file_NY.csv:

name,color,number,state
sue,blue,22,NY

读取csv文件有不同的方法。您可以在以下链接中找到所有方法:(https://www.analyticsvidhya.com/blog/2021/08/python-tutorial-working-with-csv-file-for-data-science/)

因为您想使用数据框架,所以使用pandas确实是一个实用的选择。一开始你可以这样做:

import pandas as pd
df = pd.read_csv(r"file_path")
现在让我们假设在这些行之后,您有以下数据帧:
<表类>名称颜色数量国家tbody><<tr>鲍勃绿色21TX乔红33TX苏蓝色22纽约…………

最新更新