Python dataframe中将一列除以另一列数据得到百分数
时间: 2023-11-05 20:08:17 浏览: 121
你可以使用`apply()`函数和`lambda`表达式来实现这个功能。下面是一个示例代码:
```python
import pandas as pd
# 创建一个包含两列数据的DataFrame
data = {'A': [10, 20, 30], 'B': [100, 200, 300]}
df = pd.DataFrame(data)
# 使用apply()函数和lambda表达式将B列数据除以A列数据并转换为百分数
df['C'] = df.apply(lambda x: '{:.2%}'.format(x['B'] / x['A']), axis=1)
print(df)
```
输出结果如下:
```
A B C
0 10 100 1000.00%
1 20 200 1000.00%
2 30 300 1000.00%
```
上面的代码中,`apply()`函数的`axis`参数设置为`1`,表示对每一行应用`lambda`表达式。`lambda`表达式中使用`'{:.2%}'.format()`将结果转换成百分数,并保留两位小数。最后将结果赋值给一个新的列`C`。
相关问题
python dataframe 一列除以另一列
在Python的Pandas库中,DataFrame是一种二维表格数据结构,非常适合处理和分析数据。如果你想要计算DataFrame中的一列除以另一列,你可以直接使用`pandas.DataFrame`的运算符如`/`来实现。例如,假设你有一个DataFrame `df`,其中`column1`是你想除以的列,而`column2`是除数,你可以这样做:
```python
result_column = df['column1'] / df['column2']
```
这会返回一个新的Series,包含的是`column1`元素除以`column2`的结果。如果你想将结果保存回原DataFrame的新列,可以使用赋值操作:
```python
df['new_column_name'] = df['column1'] / df['column2']
```
现在,`df`就有了名为`new_column_name`的新列,其内容是原来两列对应位置元素的商。
dataframe用一列除以另一列得到新列
假设你有一个名为 `df` 的 Pandas DataFrame,其中包含两列数据 `col1` 和 `col2`,你可以通过以下方式创建一个名为 `new_col` 的新列,它是 `col1` 除以 `col2` 的结果:
```
df['new_col'] = df['col1'] / df['col2']
```
上述代码会在 `df` 中创建一个新的列 `new_col`,其中包含 `col1` 除以 `col2` 的结果。如果 `col1` 或 `col2` 中有缺失值,那么 `new_col` 中对应的位置也会是缺失值。
你可以根据实际情况修改列名和数据类型,比如将 `col1` 和 `col2` 转换为 float 类型再进行除法运算。
阅读全文