Skip to main content
 首页 » 编程设计

python之Pandas 多行名称到列

2025年05月04日22think

我导入了一个 CSV 数据集,但在重组数据时遇到问题。数据如下:

1    2    3    4 
UK   NaN  NaN  NaN 
a    b    c    d 
b    d    c    a 
.    .    .    . 
US   NaN  NaN  NaN 
a    b    c    d 
.    .    .    . 

我想添加一个以英国、美国等为值的新列,例如:

area    1    2   3   4 
UK      a    b   c   d 
UK      b    d   c   a 
 .      .    .   .   . 
US      a    b   c   d 

这需要适用于具有不同数据量的多个区域。

提前致谢。

请您参考如下方法:

这是一种方法

In [4461]: nn =  df['2'].notnull() 
 
In [4462]: df[nn].assign(area=df['1'].mask(nn).ffill()) 
Out[4462]: 
   1  2  3  4 area 
1  a  b  c  d   UK 
2  b  d  c  a   UK 
4  a  b  c  d   US