如何在数据帧中划分两列

RHT*_*HTM 15 python r dataframe pandas

所以,在我的数据框中,我有2列.我想将这两列(a和b)除以值,然后显示它.

import pandas as pd

csv1=pd.read_csv('auto$0$0.csv')
csv2=pd.read_csv('auto$0$8.csv')

df1 = pd.DataFrame(csv1, columns = ['Column A','Column B'])
df2 = pd.DataFrame(csv2, columns = ['Column A','Column B'])

dfnew = pd.concat([df1, df2])
Run Code Online (Sandbox Code Playgroud)

专栏:

Column A | Column B |
12-------|--2-------|
14-------|--7-------|
16-------|--8-------|
20-------|--5-------|
Run Code Online (Sandbox Code Playgroud)

和预期的结果

Result
6
2
2
4
Run Code Online (Sandbox Code Playgroud)

请帮我找路.

EdC*_*ica 33

只需划分列:

In [158]:
df['Result'] = df['Column A']/df['Column B']
df

Out[158]:
   Column A  Column B  Result
0        12         2     6.0
1        14         7     2.0
2        16         8     2.0
3        20         5     4.0
Run Code Online (Sandbox Code Playgroud)


tdy*_*tdy 6

Series.div()

相当于运算符/,但支持用 a 替换fill_value任一输入中缺失的数据。

所以通常div()与以下相同/

df['C'] = df.A.div(df.B)
#         df.A / df.B
Run Code Online (Sandbox Code Playgroud)

div()sfill_value比 2x 更简洁fillna()

df['C'] = df.A.div(df.B, fill_value=-1)
#         df.A.fillna(-1) / df.B.fillna(-1)
Run Code Online (Sandbox Code Playgroud)

Anddiv()的方法链接更为惯用:

df['C'] = df.A.div(df.B).cumsum().add(1).gt(10)
#         ((df.A / df.B).cumsum() + 1) > 10
Run Code Online (Sandbox Code Playgroud)

请注意,当将一个DataFrame与另一个 DataFrame 或 Series分开时,DataFrame.div()还支持跨 anaxis或多索引进行广播level