熊猫将nan值从一列更改为另一列的字符串的第一个字母

第九伦敦

我正在尝试通过将字符串的前几个字母与DataFrame的另一列之间的空格分开来更改列的值(如果它为null):

          A                             B
0       NaN  Column To Pick First Letters
1  GoodToGo                     Something

将导致:

          A                             B
0     CTPFL  Column To Pick First Letters
1  GoodToGo                     Something

到目前为止,我只设法使用df['A'] = filnan(value=df['B']),但是它复制了B列的整个字符串,使用split给了我B列中所有值的分割。

洛兹

您可以split将字符串重新整形为单个Series,抓住第一个字母,然后使用groupby+str.join创建字符串。然后fillna仅更改NaN值。

df['A'] = df['A'].fillna(df['B'].str.split(expand=True).stack().str[0].groupby(level=0).agg(''.join))

          A                             B
0     CTPFL  Column To Pick First Letters
1  GoodToGo                     Something

为了稍微分解一下,拆分和堆栈创建了一系列单独的单词,索引的第0级指向原始行标签。

df['B'].str.split(expand=True).stack()
#0  0       Column
#   1           To
#   2         Pick
#   3        First
#   4      Letters
#1  0    Something

使用.str访问器,我们可以获取该系列中每个值的第一个字母。

df['B'].str.split(expand=True).stack()
#0  0    C
#   1    T
#   2    P
#   3    F
#   4    L
#1  0    S

现在,我们将第0级(原始行索引)分组以加入第一个字母。

df['B'].str.split(expand=True).stack().str[0].groupby(level=0).agg(''.join)
#0    CTPFL
#1        S

这个系列是然后用来 fillna

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串的第一个单词更改为第一个字母

来自分类Dev

熊猫根据另一列将nan替换为第一个非nan值

来自分类Dev

从列中获取字符串的第一个字母

来自分类Dev

在javascript中将字符串中单词的第一个字母更改为大写

来自分类Dev

替换一个字符串,并用另一个字符串创建一列

来自分类Dev

NaN值,字符串中的第一个字符

来自分类Dev

将值从一列更改为另一列

来自分类Dev

在TextBox的上方将字符串的第一个字母

来自分类Dev

将第一个字母添加到字符串

来自分类Dev

向行中的每一列添加一个字符串-除第一列(可变行长)外,该字符串包含在每行的第一列中

来自分类Dev

根据循环内另一列的值将一列的值更改为nan

来自分类Dev

如果另一列的对应行包含某个子字符串,则在列中分配一个字符串,否则分配另一个字符串

来自分类Dev

熊猫groupby并减去一列的最后一个值与另一列的第一个值

来自分类Dev

如何将文本从.txt文件分离到数据库中的另一列?(定界符是一个字符串)

来自分类Dev

将]之后的第一个字母更改为大写

来自分类Dev

将项目从一个列表移至另一列表,并删除字符串的某些部分

来自分类Dev

sqlldr仅将字符串的第一个字符加载到列中

来自分类Dev

熊猫,为什么字符串匹配在第一个字母处停止

来自分类Dev

使用jQuery将字符串中的第一个字母大写(包含字母和数字)

来自分类Dev

使用jQuery将字符串中的第一个字母大写(包含字母和数字)

来自分类Dev

如何将单元格值从一列更改为另一列,但更改行值?

来自分类Dev

SQL Server:获取第一列中的最后4个字符并获取第二列中单词的第一个字母但忽略非字母

来自分类Dev

根据另一列中的值,将一列中的NaN替换为字符串

来自分类Dev

在作为字母的字符串中查找第一个字符

来自分类Dev

csvReader 在读取 csv 文件时跳过第一列每一行的第一个字母

来自分类Dev

将大写字符串更改为小写,但仅将第一个字符保留为大写

来自分类Dev

熊猫:从一列的子字符串中提取首字母缩写词,并将其与具有条件的另一列匹配

来自分类Dev

大写字符串的第一个字母

来自分类Dev

在AngularJs中大写字符串的第一个字母

Related 相关文章

  1. 1

    将字符串的第一个单词更改为第一个字母

  2. 2

    熊猫根据另一列将nan替换为第一个非nan值

  3. 3

    从列中获取字符串的第一个字母

  4. 4

    在javascript中将字符串中单词的第一个字母更改为大写

  5. 5

    替换一个字符串,并用另一个字符串创建一列

  6. 6

    NaN值,字符串中的第一个字符

  7. 7

    将值从一列更改为另一列

  8. 8

    在TextBox的上方将字符串的第一个字母

  9. 9

    将第一个字母添加到字符串

  10. 10

    向行中的每一列添加一个字符串-除第一列(可变行长)外,该字符串包含在每行的第一列中

  11. 11

    根据循环内另一列的值将一列的值更改为nan

  12. 12

    如果另一列的对应行包含某个子字符串,则在列中分配一个字符串,否则分配另一个字符串

  13. 13

    熊猫groupby并减去一列的最后一个值与另一列的第一个值

  14. 14

    如何将文本从.txt文件分离到数据库中的另一列?(定界符是一个字符串)

  15. 15

    将]之后的第一个字母更改为大写

  16. 16

    将项目从一个列表移至另一列表,并删除字符串的某些部分

  17. 17

    sqlldr仅将字符串的第一个字符加载到列中

  18. 18

    熊猫,为什么字符串匹配在第一个字母处停止

  19. 19

    使用jQuery将字符串中的第一个字母大写(包含字母和数字)

  20. 20

    使用jQuery将字符串中的第一个字母大写(包含字母和数字)

  21. 21

    如何将单元格值从一列更改为另一列,但更改行值?

  22. 22

    SQL Server:获取第一列中的最后4个字符并获取第二列中单词的第一个字母但忽略非字母

  23. 23

    根据另一列中的值,将一列中的NaN替换为字符串

  24. 24

    在作为字母的字符串中查找第一个字符

  25. 25

    csvReader 在读取 csv 文件时跳过第一列每一行的第一个字母

  26. 26

    将大写字符串更改为小写,但仅将第一个字符保留为大写

  27. 27

    熊猫:从一列的子字符串中提取首字母缩写词,并将其与具有条件的另一列匹配

  28. 28

    大写字符串的第一个字母

  29. 29

    在AngularJs中大写字符串的第一个字母

热门标签

归档