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)
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。