pd.dataframe数据删除固定行
时间: 2023-09-08 12:08:31 浏览: 91
您可以使用 pandas 库的 drop() 方法来删除行。下面是一个例子:
```
import pandas as pd
# 创建示例数据
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}
df = pd.DataFrame(data)
# 删除第二行
df = df.drop([1])
# 打印结果
print(df)
```
这将删除第二行(索引为1)并打印结果:
```
name age
0 Alice 25
2 Charlie 35
```
相关问题
# 引入pandas import ______ as ___ # 读取‘固定资产信息.xls’表 df = pd.read_excel(r"______",sheet_name=0) # 输出内容显示前五行 print(df.___) #检测重复值 print(df.___) #删除重复值 print(df.___)
好的,以下是代码示例:
```python
import pandas as pd
# 读取‘固定资产信息.xls’表
df = pd.read_excel(r"固定资产信息.xls", sheet_name=0)
# 输出内容显示前五行
print(df.head())
# 检测重复值
print(df.duplicated())
# 删除重复值
df.drop_duplicates(inplace=True)
```
该代码中使用了 pandas 库,as pd 别名为 pd。读取了名为“固定资产信息.xls”的 Excel 文件,并指定读取第一个 sheet,使用 head() 方法输出前五行数据。接着使用 duplicated() 方法检测重复值,并使用 drop_duplicates() 方法删除重复值。请注意,使用 inplace=True 参数可以直接修改原始 DataFrame,而不是返回一个新的 DataFrame。
import pandas as pd from PyQt5.QtWidgets import QApplication, QTableView, QMainWindow, QVBoxLayout, QWidget, QPushButton, QFileDialogfrom PyQt5 import QtCoreclass ExcelViewer(QMainWindow): def __init__(self): super().__init__() self.df = None # 初始值为 None self.table_view = QTableView() self.setCentralWidget(self.table_view) self.initUI() def initUI(self): self.setWindowTitle("Excel Viewer") self.resize(800, 600) # 添加查询按钮 self.button = QPushButton("查询", self) self.button.setGeometry(QtCore.QRect(340, 20, 80, 30)) self.button.clicked.connect(self.selectExcel) def selectExcel(self): # 弹出文件选择窗口 file_path, _ = QFileDialog.getOpenFileName(self, "选择Excel文件", "", "Excel Files (*.xlsx *.xls)") if file_path: # 读取 Excel 文件并将其转换为 pandas DataFrame 对象 self.df = pd.read_excel(file_path) # 将 DataFrame 数据设置为表格模型并在 QTableView 中显示 model = pdTableModel(self.df) self.table_view.setModel(model)class pdTableModel(QtCore.QAbstractTableModel): def __init__(self, data): super().__init__() self._data = data def data(self, index, role): if role == QtCore.Qt.DisplayRole: return str(self._data.iloc[index.row(), index.column()]) def rowCount(self, index): return self._data.shape[0] def columnCount(self, index): return self._data.shape[1]if __name__ == '__main__': app = QApplication([]) excel_viewer = ExcelViewer() excel_viewer.show() app.exec_()帮我修改,不需要自己选择文件
好的,如果不需要手动选择文件,可以在 ExcelViewer 类的 initUI() 方法中直接调用 pd.read_excel() 方法读取固定的 Excel 文件,代码如下:
```python
import pandas as pd
from PyQt5.QtWidgets import QApplication, QTableView, QMainWindow, QVBoxLayout, QWidget, QPushButton, QFileDialog
from PyQt5 import QtCore
class ExcelViewer(QMainWindow):
def __init__(self):
super().__init__()
self.df = None # 初始值为 None
self.table_view = QTableView()
self.setCentralWidget(self.table_view)
self.initUI()
def initUI(self):
self.setWindowTitle("Excel Viewer")
self.resize(800, 600)
# 添加查询按钮
self.button = QPushButton("查询", self)
self.button.setGeometry(QtCore.QRect(340, 20, 80, 30))
self.button.clicked.connect(self.selectExcel)
def selectExcel(self):
# 读取 Excel 文件并将其转换为 pandas DataFrame 对象
self.df = pd.read_excel("example.xlsx")
# 将 DataFrame 数据设置为表格模型并在 QTableView 中显示
model = pdTableModel(self.df)
self.table_view.setModel(model)
class pdTableModel(QtCore.QAbstractTableModel):
def __init__(self, data):
super().__init__()
self._data = data
def data(self, index, role):
if role == QtCore.Qt.DisplayRole:
return str(self._data.iloc[index.row(), index.column()])
def rowCount(self, index):
return self._data.shape[0]
def columnCount(self, index):
return self._data.shape[1]
if __name__ == '__main__':
app = QApplication([])
excel_viewer = ExcelViewer()
excel_viewer.show()
app.exec_()
```
在这里,我们直接将文件名设置为 "example.xlsx",并在 selectExcel() 方法中删除了弹出文件选择窗口的代码,这样程序启动后,表格中就会显示 example.xlsx 文件的内容。
阅读全文