【问题标题】:In a dataframe I had a column like this. 9(05) X(5) X(15) X(15) X(15) S9(07) S9(2)V9(2) I want to split them into four different into columns在数据框中,我有一个这样的列。 9(05) X(5) X(15) X(15) X(15) S9(07) S9(2)V9(2) 我想把它们分成四个不同的列
【发布时间】:2018-08-16 09:53:40
【问题描述】:

输入
9(05) X(5) X(15) X(15) X(15) S9(07) S9(2)V9(2) 输出 A B C D 9 05 南南 X 5 南南 X 15 南南 S9 07 南南 S9 02 V9 2

【问题讨论】:

  • 您的输出中的X 是什么?它也是一个字符串吗?您基本上是在尝试计算字符串中的字符数并用另一个字符串替换,例如X(<number>)
  • X 表示元素的类型,如字母数字或数字。X() 表示该类型元素占用的大小。
  • 所以output 仍然是一个字符串?例如使用此输入:'YYYY' 你会得到output = 'Y(4)'?
  • 是的,我需要它。

标签: python pandas


【解决方案1】:

应该这样做:

input='XX','XXX','XXXX'

output = []
for elem in input:
    output.append(elem[0]+'(' + "%02d"%len(elem) + ')')
print output

输出是:

['X(02)', 'X(03)', 'X(04)']

请记住,这将假定您的字符串中的所有元素彼此相等,如果不是这种情况,则将在输出中使用字符串中的第一个字符。

注意:如果您使用的是 python3,那么最后一行应为:

print(output)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多