写熊猫dataframe列csv行交错

问题描述:

我有一个有三列的熊猫数据框,说:A,B,C和我想重新排列数据并将其输出为CSV,以便C中的所有值具有相同的价值在A共享一行。因此,举例来说,如果我的代码块设计如下(例如,不,我会设计这样说):”写熊猫dataframe列csv行交错

check=pd.DataFrame(columns=['A','B', 'C']) 
 

 
for i in range(8): 
 
    check.loc[1]=[1,11,10] 
 
    check.loc[2]=[1,21,23] 
 
    check.loc[3]=[1,23,32] 
 
    check.loc[4]=[2,21,41] 
 
    check.loc[5]=[2,21,11] 
 
    check.loc[6]=[3,21,29] 
 
    check.loc[7]=[4,21,43] 
 
    check.loc[8]=[4,21,52]

` 我所要的输出看像在CSV下列之一: 此:

1 ,,,

10,23,32,

2 ,,,

41,11 ,,

3 ,,,

29 ,,,

4 ,,,

43,52 ,,

OR:

1,10,23,32

2,41,11,

3,29 ,,

4,43,52,

OR:

10,23,32,

41,11 ,,

29 ,,,

43,52 ,,

非常感谢您的任何建议。

呃......有点难以理解你真正在做的事情。但看起来你根本没有输出B列。第一步是以可接受的方式安排数据。对于A的每个值,这似乎是一排。然后导出。

获取上一个示例输出的一种方法是创建一个列表,其中每个列表项是所需的行。我会做到这一点通过A对数据进行分组,然后在组迭代:

g = check.groupby('A') 
bigList = [] 
for group in g: 
    rowList = [] 
    for c in group[1].C.iteritems(): 
     rowList.append(c[1]) 
    bigList.append(rowList) 

现在bigList是列表的列表。所以,我们就可以将其转换成一个数据帧的熊猫,然后保存到CSV:

outData = pd.DataFrame(bigList) 
outData.to_csv('myFile.csv', index=False) 

你可以采取上述循环,并修改它做你的其他的例子还有。这会做你的第二个:

bigList = [] 
for group in g: 
    rowList = [] 
    rowList.append(group[0]) 
    for c in group[1].C.iteritems(): 
     rowList.append(c[1]) 
    bigList.append(rowList)