Skip to main content
 首页 » 编程设计

python之python 中的数据帧操作

2025年05月04日10jyk

我有一个包含两列 a 和 b 的 csv 文件,如下所示:

a      b 
601    1 
602    2 
603    3 
604    4 
605    5 
606    6 

我想读取数据并将其保存在一个新的 csv 文件中,如下所示:

s    id 
601  1 
602  1 
603  1 
604  2 
605  2 
606  2 

我试过这段代码:

data=pd.read_csv('./dataset/test4.csv') 
list=[] 
i=0 
while(i<6): 
    list.append(data['a'].iloc[i:i+3]) 
    i+=3 
df = pd.DataFrame(list) 
print(df) 

通过这个输出:

       0      1      2      3      4      5 
a  601.0  602.0  603.0    NaN    NaN    NaN 
a    NaN    NaN    NaN  604.0  605.0  606.0 

首先我需要将列表保存在数据框中,结果如下:

  0         1      2      3      4      5 
  601.0  602.0  603.0    604.0  605.0  606.0 

然后保存在一个csv文件中。但是我卡在了第一部分。

感谢您的帮助。

请您参考如下方法:

假设a中每3个元素构成b中的一组,只需对索引做一点整数除法即可。

data['b'] = (data.index // 3 + 1) 
 
data 
 
     a  b 
0  601  1 
1  602  1 
2  603  1 
3  604  2 
4  605  2 
5  606  2 

保存为 CSV 非常简单 - 您只需调用 df.to_csv(...)。


只要您有一个单调递增的整数索引,就可以按索引除法。否则,您可以使用 np.arange(根据 MaxU 的推荐):

data['b'] = np.arange(len(data)) // 3 + 1 
 
data 
 
     a  b 
0  601  1 
1  602  1 
2  603  1 
3  604  2 
4  605  2 
5  606  2