小编CPU*_*CPU的帖子

如何使用NaN将合并的Excel单元格读入Pandas DataFrame

我想将Excel表格读入Pandas DataFrame.但是,有合并的Excel单元格和Null行(完整/部分NaN填充),如下所示.为了澄清,John H.已经下令购买从"The Bodyguard"到"Red Pill Blues"的所有专辑.

Excel表格捕获

当我将此Excel工作表读入Pandas DataFrame时,Excel数据无法正确传输.熊猫将合并的细胞视为一个细胞.DataFrame如下所示:( 注意:()中的值是我想要的值所需的值)

数据帧捕获

请注意,最后一行不包含合并的单元格; 它只携带Artist列的值.


编辑: 我确实尝试以下来向前填写NaN值:( 熊猫:用合并的单元格读取Excel)

df.index = pd.Series(df.index).fillna(method='ffill')  
Run Code Online (Sandbox Code Playgroud)

但是,NaN价值仍然存在.我可以使用什么策略或方法正确填充DataFrame?是否有一个Pandas方法来取消合并细胞并复制相应的内容?

python excel python-3.x pandas

8
推荐指数
2
解决办法
4816
查看次数

如何使用指定的块大小将 Python 列表拆分或分解为不相等的块

我有两个 Python 数字列表。

list1 = [123,452,342,533,222,402,124,125,263,254,44,987,78,655,741,165,597,26,15,799,100,154,122,563]  
list2 = [2,5,14,3] ##these numbers specify desired chunk sizes  
Run Code Online (Sandbox Code Playgroud)

我想通过根据 list2 中的大小数字拆分 list1 来创建 list1 的子集或子列表。因此,我想要这样的:

a_list = [123,452] ##correspond to first element (2) in list2; get the first two numbers from list1  
b_list = [342,533,222,402,124] ##correspond to second element (5) in list2; get the next 5 numbers from list1  
c_list = [125,263,254,44,987,78,655,741,165,597,26,15,799,100] ##next 14 numbers from list1  
d_list = [154,122,563] ##next 3 numbers from list1  
Run Code Online (Sandbox Code Playgroud)

本质上,每个块都应该遵循 list2。这意味着,第一个块应该有 list1 中的前 2 个元素,第二个块应该有接下来的 5 个元素,依此类推。 …

python python-3.x

0
推荐指数
1
解决办法
1262
查看次数

如何从Python字符串中删除括号内的文本?

我试图删除括号和这些括号中的文本,以及连字符.一些字符串示例如下所示:
example = 'Year 1.2 Q4.1 (Section 1.5 Report (#222))'
example2 = 'Year 2-7 Q4.8 - Data markets and phases' ##there are two hyphens

我希望结果如下:

example = 'Year 1.2 Q4.1'  
example2 = 'Year 2-7 Q4.8'  
Run Code Online (Sandbox Code Playgroud)

如何删除位于括号和特殊字符内或之后的文本?我只能找到str.strip()方法.我是Python新手,所以非常感谢任何反馈!

python regex python-3.x

-1
推荐指数
1
解决办法
871
查看次数

标签 统计

python ×3

python-3.x ×3

excel ×1

pandas ×1

regex ×1