Boj*_*vić 0 python data-manipulation dataframe pandas
我正在处理一个有 2000 行的数据框,但为此目的,我创建了这个简单的数据框,我想在其中查找 col2 列中包含 3 个或更少数字的所有行。这是数据框:
\nd = {'col1': [10000, 2000,300,4000,50000], 'col2': [10, 20000, 300, 4000, 100]}\ndf = pd.DataFrame(data=d)\n\n col1 col2\n0 10000 10\n1 2000 20000\n2 300 300\n3 4000 4000\n4 50000 100\n\nArea int64\nPrice int64\ndtype: object\n
Run Code Online (Sandbox Code Playgroud)\n之后,我想创建一个新列 col3,其中来自那些过滤行(具有 3 个或更少数字)的 col2 列的值将乘以它们的值 \xe2\x80\x8b\xe2\x80\x8b 来自 col1 列,而其他行保持不变。
\n这是预期的输出:
\n col1 col2 col3\n0 10000 10 100000\n1 2000 20000 20000\n2 300 300 90000\n3 4000 4000 4000\n4 5000 100 500000\n\ncol1 int64\ncol2 int64\ncol3 int64\ndtype: object\n
Run Code Online (Sandbox Code Playgroud)\n提前致谢!
\n简单应用np.where
:
df['col3'] = np.where(df.col2 < 1000, df.col2 * df.col1, df.col2)
Run Code Online (Sandbox Code Playgroud)
col1 col2 col3
0 10000 10 100000
1 2000 20000 20000
2 300 300 90000
3 4000 4000 4000
4 5000 100 500000
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
401 次 |
最近记录: |