我有一个包含3000多个变量的数据文件。每行包含来自一个人的数据。并非所有人都拥有每个变量的数据。换句话说,数据文件如下所示:
V1,V2,V3,V4,V5,V6
ID1, , , 4, 2,
ID2,1, 2, , ,
ID3,1, , , , 3
我想为每一行(即每个人)做的是将该行的数据放入其自己的.csv文件中。但问题是我只想要那个人有价值的变量。所以ID1的.csv文件看起来像:
V1,V4,V5
ID1,4, 2
我尝试从以下开始,但是我们仍然坚持如何继续:
df_datafile = pd.read_csv('data.csv')
df_datafile2 = df_datafile.fillna(0)
for row in df_datafile2.itertuples():
index,V1,V2,V3,V4,V5,V6 = row
file = open("%s.txt" % (V1),"w")
for column in df_datafile:
if column != 0:
file.write("%s" % (column))
然而,所有这些代码都给了我以V1命名的.csv字段中的所有变量名。
答案 0 :(得分:0)
怎么样:
df_datafile = pd.read_csv('data.csv')
for row, data in df_datafile.iterrows():
data.dropna().to_frame().transpose().to_csv('file_{}.csv'.format(row))
如果您稍后再次删除fillna()
值,那么您可以跳过0
步骤(这就是为什么它没有说df_datafile2
)。