excel - 如何使用python pandas在excel文档中的行和列中删除没有浮动的行
问题描述
我正在编辑一个 excel 文件,我到了这一点,我试图删除所有没有数字的行。如下所示:
drinks| period| Day1| Day2| Day3| Day4| Day5| Day6|
1 Beer1| weekly|
5 Beer2| weekly|
9 Beer3| weekly| 8.0 | 6.6| 4.8| 6.9| 8.3| 8.5|
10 Beer4| Monthly 8.0 | 6.9| 5.8| 6.7| 6.8| 6.7|
11 Beer5| quaterly|7.3| 7.3| 7.3| 7.3| 7.3| 7.3|
13 Beer6| weekly|
17 Beer7| weekly|
21 Beer8| weekly|
25 Beer9| weekly|
29 Beer0| weekly| 8.2|
33 Beer1| weekly| 6.2|
34 Beer2| weekly| 6.2| 6.2| 6.2| 6.2| 6.3| 6.3|
35 Beer3| Month | 5.4| 5.4| 5.4| 5.4| 5.4| 5.4|
37 Beer4| weekly|
41 Beer5| weekly| 8.3| 8.2| 8.2|
42 Beer6| weekly| 8.5|
45 Beer7| weekly|
49 Beer8| weekly| 8.5|
53 Beer9| weekly| 8.2|
我一直得到错误的结果。有人可以帮忙吗?
import pandas as pd
import numpy as np
excel_file_1 = 'DRINKS.xlsx'
df = pd.read_excel(excel_file_1)
df.dropna(axis=0,how='all')
print (df)
我试图删除除带有浮动的行之外的每一行。注意带有浮动的行也有字符串,预期结果应该是:
drinks| period| Day1| Day2| Day3| Day4| Day5|
9 Beer3| weekly| 8.0| 6.6| 4.8| 6.9| 8.3|
10 Beer4| Monthly|8.0| 6.9| 5.8| 6.7| 6.8|
11 Beer5| quaterly|7.3| 7.3| 7.3| 7.3| 7.3|
29 Beer1| weekly| 8.2 |
33 Beer2| weekly| 6.2|
34 Beer3| weekly| 6.2| 6.2| 6.2| 6.2| 6.3|
35 Beer4| Monthly|5.4| 5.4| 5.4| 5.4| 5.4|
41 Beer5| weekly| 8.3| 8.2| 8.2|
42 Beer6| weekly| 8.5 8.5
49 Beer8| weekly| 8.5
53 Beer9| weekly| 8.2 8.4
解决方案
你可以试试这个
m=df.stack().str.contains('\d').any(level=0)
n=df.stack().str.contains('\w+').all(level=0)
df[m|n]
输出
drink cost places sold
2 beer 2 6
3 pepsi 4.5 New Jersy 2
4 Fruit 3 Vancouver Nan
推荐阅读
- java - How to pass variable from different class to the main class
- javascript - How can I collect data from multiple HTML checkboxes and input that data into a google sheet?
- mysql - How to do audit when using Spring batch as ETL
- r - Create multiple columns in data.table with `:=` without colnames
- javascript - 即使调用了 React 组件方法,expect(...).toHaveBeenCalled() 也会失败
- maple - 如何画出曲线
- python - Asynchronously chaining grpc calls
- angular - Observable subscribe not fired
- spinnaker - How add Bitbucket artifact in Spinnaker?
- e2e-testing - 在测试无服务器应用程序时,是否可以发出 API 请求以在 Cypress 中设置测试?