Python Pandas:基于其他列添加列

初学者_

我是熊猫的新手,对此很困惑,尤其是与列表和使用列表理解相比。

我有一个4列的数据框。我想基于第四列“ m”创建第五列“ c”。我可以通过对列“ m”中的每一行应用函数来获得“ c”的值。

如果“ m”是列表,并且使用列表理解,则为

c = [myfunction(x) for x in m]

如何将这种“逻辑”应用于数据框?

耶斯列尔

您可以assign-从doc以下位置取样

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': range(1, 11), 'B': np.random.randn(10)})
print df
    A         B
0   1  0.769028
1   2 -0.392471
2   3  0.153051
3   4 -0.379848
4   5 -0.665426
5   6  0.880684
6   7  1.126381
7   8 -0.559828
8   9  0.862935
9  10 -0.909402

df = df.assign(ln_A = lambda x: np.log(x.A))
print df
    A         B      ln_A
0   1  0.769028  0.000000
1   2 -0.392471  0.693147
2   3  0.153051  1.098612
3   4 -0.379848  1.386294
4   5 -0.665426  1.609438
5   6  0.880684  1.791759
6   7  1.126381  1.945910
7   8 -0.559828  2.079442
8   9  0.862935  2.197225
9  10 -0.909402  2.302585

还是apply陆奇所说。

有时lambda功能会有所帮助:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': range(1, 11), 'B': np.random.randn(10)})

df['ln_A'] = df['A'].apply(np.log)
df['round'] = df['B'].apply(lambda x: np.round(x, 2))
print df

    A         B      ln_A  round
0   1 -0.982828  0.000000  -0.98
1   2  2.306111  0.693147   2.31
2   3  0.967858  1.098612   0.97
3   4 -0.286280  1.386294  -0.29
4   5 -2.026937  1.609438  -2.03
5   6  0.061735  1.791759   0.06
6   7 -0.506620  1.945910  -0.51
7   8 -0.309438  2.079442  -0.31
8   9 -1.261842  2.197225  -1.26
9  10  1.079921  2.302585   1.08

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:pandas DataFrame基于其他列的新列

如何基于Python Pandas中的其他列在DataFrame中创建新列?

Python:基于其他列扩展数据框列值

Python列均值基于其他列条件

如何基于其他列在Python中创建等级列

基于python中的其他列使列值加粗

基于其他列 Python 3+ Pandas 数据框上的条件的年份 cumsum

python pandas切片字符串基于其他列

Python Pandas 基于列相乘并添加后缀

Python Pandas:基于组内的最大值创建新列,但使用其他(字符串)列中的值

基于python中的其他两列为列赋值

返回基于其他列python的值最近增加的行

for循环并在Python中添加其他列groupby pandas dataframe

Python Pandas 添加一列,其中值跨其他行

将日期(系列)列从一个DataFrame添加到其他Pandas,Python

根据Python Pandas中的其他列对列进行分组

从 python pandas 中的其他列创建列

Python、pandas 和 NLP:通过基于其他列中的值划分文本来创建语料库

Python Pandas-如何添加总行以求和某些列并取其他列的平均值

Python Pandas:根据其他空白列的条件使用填充

使用Pandas或其他python模块读取特定列

Python Pandas从其他列返回值

Python值计数并返回pandas中的其他列

Python Pandas-访问其他列的Lambda函数

如何在python中的其他列中基于多个条件设置列的值?

如何基于其他列python中的值更改提取列的值

基于 Python 中其他列值的相似性对一列求和

如何使用基于Python中其他列值的值填充列?

Python数据框基于其他id列创建索引列