python - 根据条件拆分列值

标签 python pandas dataframe numpy

如何根据 Pandas 中的条件拆分列的值?
如果 A 中的值小于 5,我想将 B 列转换为 point(.) 之前的第一个拆分
例如,我有下表:


一种



2
ABC.DEF

2
ABC.DEF

8
ABC.DEF

8
ABC.DEF


它应该更改为


一种



2
美国广播公司

2
美国广播公司

8
ABC.DEF

8
ABC.DEF

最佳答案

尝试:

m=df['A'].lt(5)
#your condition
最后:
df.loc[m,'B']=df.loc[m,'B'].str.split('.').str[0]
或者
#import numpy as np
df['B']=np.where(m,df['B'].str.split('.').str[0],df['B'])
df 的输出:
    A   B
0   2   ABC
1   2   ABC
2   8   ABC.DEF
3   8   ABC.DEF

关于python - 根据条件拆分列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68244837/

相关文章:

python - 重新启动 Web 服务器后,Django/Apache 代码未重新加载

python - 将 csv 目录读入 Pandas Dataframe

python - numpy 和 theano 中的 3D 矩阵乘法

python - 从 pandas 列的字符串列表中删除数字

python - 使用 pandas GroupBy 获取每个组的统计数据(例如计数、平均值等)?

Python 数据框使用带有 2 个变量的 lambda 函数和 if else 语句分配新列

python - 如何避免在 numpy 中使用 for 循环?

python - Pandas:使用颜色选项卡创建 Excel 工作表

python - 映射和合并来自另一个数据框的值

python - Pandas - 使用 daterange 扩展数据框