Python dataframe中将一列除以另一列数据得到百分数
时间: 2023-11-05 11:08:17 浏览: 56
你可以使用`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`。
相关问题
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 类型再进行除法运算。
python dataframe添加一列_从另一个DataFrame添加一列
可以使用 Pandas 的 `merge` 函数将两个 DataFrame 合并,并添加新的一列。假设我们有两个 DataFrame,一个是 `df1`,另一个是 `df2`,他们共享一个列 `id`,我们想要将 `df2` 的一列 `new_col` 添加到 `df1`,可以按照以下步骤进行操作:
```python
import pandas as pd
# 创建示例数据
data1 = {'id': [1, 2, 3, 4], 'col1': ['a', 'b', 'c', 'd']}
data2 = {'id': [1, 2, 3, 4], 'new_col': [10, 20, 30, 40]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 使用 merge 函数合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='id')
# 查看合并后的结果
print(merged_df)
# 输出:
# id col1 new_col
# 0 1 a 10
# 1 2 b 20
# 2 3 c 30
# 3 4 d 40
```
在合并后的 DataFrame 中,`new_col` 就成为了新的一列,可以按照需要进行操作。