Pandas DataFrame: 计算包含 'cell' 的列,并生成新列并添加 'dq/dv' 后缀
假设有一个 DataFrame 如下:
| A | B_cell | C | D_cell | | --- | ------- | --- | ------- | | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | 8 | | 9 | 10 | 11 | 12 |
则需要计算A列除以B_cell列和D_cell列,生成新列,然后在新列标题后面加上'dq/dv',结果如下:
| A | B_cell | C | D_cell | A/B_cell dq/dv | A/D_cell dq/dv | | --- | ------- | --- | ------- | -------------- | -------------- | | 1 | 2 | 3 | 4 | 0.5 | 0.25 | | 5 | 6 | 7 | 8 | 0.833333333333 | 0.625 | | 9 | 10 | 11 | 12 | 0.9 | 0.75 |
可以使用以下代码实现:
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({'A': [1, 5, 9], 'B_cell': [2, 6, 10], 'C': [3, 7, 11], 'D_cell': [4, 8, 12]})
# 计算新列
df['A/B_cell dq/dv'] = df['A'] / df['B_cell']
df['A/D_cell dq/dv'] = df['A'] / df['D_cell']
# 修改新列标题
df = df.rename(columns={'A/B_cell dq/dv': 'A/B_cell dq/dv', 'A/D_cell dq/dv': 'A/D_cell dq/dv'})
# 在新列标题后面加上'dq/dv'
df.columns = [col + ' dq/dv' if 'cell' in col else col for col in df.columns]
print(df)
代码解释:
- 使用
pandas库创建 DataFrame。 - 使用
df['A'] / df['B_cell']和df['A'] / df['D_cell']计算新列。 - 使用
df.rename(columns=...)修改新列标题。 - 使用列表推导式,根据列名是否包含 'cell' 添加 'dq/dv' 后缀。
此代码演示了如何使用 Pandas DataFrame 处理数据,并根据特定条件修改列名。您可以根据自己的需求修改代码,以实现不同的数据处理逻辑。
原文地址: https://www.cveoy.top/t/topic/nwDg 著作权归作者所有。请勿转载和采集!