【问题标题】:How to convert a column list of names to a list of columns names with double quotes after the column?如何将名称的列列表转换为列后带有双引号的列名称列表?
【发布时间】:2021-10-22 06:08:40
【问题描述】:

我正在尝试使用如下所示的值转换数据框中的列:

0                             Albert Ross, Flyn Gibby
1                             Mark Cuban, Brian Hilbert
2                             Jim Lampert, Gilgan Smalls

到这样的事情:

0                             "Albert Ross", "Flyn Gibby"
1                             "Mark Cuban", "Brian Hilbert"
2                             "Jim Lampert", "Gilgan Smalls"

有人知道你会怎么做吗?

【问题讨论】:

    标签: python string list dataframe


    【解决方案1】:

    你可以试试str.replace

    df = pd.DataFrame(['Albert Ross, Flyn Gibby'], columns=['names'])
    
    df['names'].str.replace(r'(\w+\s\w+)', r'"\1"')
    
    # Out[8]: 0    "Albert Ross", "Flyn Gibby"
    

    【讨论】:

    • 谢谢!我确实有一个问题。我将如何摆脱引号和 Flyn 之间的额外空格,如下所示:"Albert Ross"," Flyn Gibby"
    • 抱歉没有注意到,已修复。顺便说一句,我希望你的名字中没有数字,对吧?
    【解决方案2】:

    拆分, 上的值,然后对每个拆分值加双引号,最后通过, 将它们连接起来

    df['col'].str.split(', ').apply(lambda x:', '.join(f'"{v}"' for v in x))
    
    0       "Albert Ross", "Flyn Gibby"
    1     "Mark Cuban", "Brian Hilbert"
    2    "Jim Lampert", "Gilgan Smalls"
    Name: col, dtype: object
    

    【讨论】:

      猜你喜欢
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      相关资源
      最近更新 更多