python更改数据框指定位置的数据_python-根据条件修改数据框中的2列

我在Stack Overflow上看到了很多示例,这些示例说明了如何根据条件修改数据框中的单个列,但是我无法弄清楚如何根据单个条件修改多个列.

如果我有一个基于以下代码生成的数据框-

import random

import pandas as pd

random_events = ('SHOT', 'MISSED_SHOT', 'GOAL')

events = list()

for i in range(6):

event = dict()

event['event_type'] = random.choice(random_events)

event['coords_x'] = round(random.uniform(-100, 100), 2)

event['coords_y'] = round(random.uniform(-42.5, 42.5), 2)

events.append(event)

df = pd.DataFrame(events)

print(df)

coords_x coords_y event_type

0 4.07 -21.75 GOAL

1 -2.46 -20.99 SHOT

2 99.45 -15.09 MISSED_SHOT

3 78.17 -10.17 GOAL

4 -87.24 34.40 GOAL

5 -96.10 30.41 GOAL

我要完成的是在DataFrame的每一行上执行以下操作(伪代码)-

if df['coords_x'] < 0:

df['coords_x'] * -1

df['coords_y'] * -1

有没有办法通过我所缺少的df.apply()函数执行此操作?

预先感谢您的帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python中的openpyxl库来读取和修改Excel文件,并使用PyQt5来创建GUI界面。下面是一个简单的示例代码,可以打开Excel文件并显示指定数据,并允许在指定行添加新的数据。 ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QPushButton, QLineEdit from openpyxl import load_workbook class MainWindow(QMainWindow): def __init__(self): super().__init__() # 创建表格和按钮 self.table = QTableWidget(self) self.btn_add = QPushButton('Add', self) self.edit_row = QLineEdit(self) # 设置表格的行数和数 self.table.setRowCount(5) self.table.setColumnCount(2) # 设置表头 self.table.setHorizontalHeaderLabels(['Name', 'Age']) # 加载Excel文件 self.workbook = load_workbook('data.xlsx') self.sheet = self.workbook.active # 显示Excel中指定数据 for i, row in enumerate(self.sheet.iter_rows(values_only=True)): name = QTableWidgetItem(row[0]) age = QTableWidgetItem(str(row[1])) self.table.setItem(i, 0, name) self.table.setItem(i, 1, age) # 添加按钮和编辑,并设置布局 self.btn_add.move(50, 250) self.edit_row.move(150, 250) self.setCentralWidget(self.table) self.setGeometry(100, 100, 300, 300) self.setWindowTitle('Excel Viewer') # 绑定按钮的点击事件 self.btn_add.clicked.connect(self.add_row) def add_row(self): # 获取编辑框中的文本和当前行数 row = int(self.edit_row.text()) name = QTableWidgetItem('New Person') age = QTableWidgetItem('0') # 在指定行添加新的数据 self.table.setItem(row, 0, name) self.table.setItem(row, 1, age) self.sheet.cell(row=row+1, column=1, value='New Person') self.sheet.cell(row=row+1, column=2, value=0) self.workbook.save('data.xlsx') if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 在这个例子中,我们首先创建一个`QTableWidget`对象来显示表格数据,并添加一个`QPushButton`和一个`QLineEdit`来添加新的数据。然后,我们使用`openpyxl`库来加载Excel文件并显示指定数据。最后,我们将按钮的点击事件绑定到`add_row`函数,该函数会在指定行添加新的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值