如何拆分包含字符串的整数,例如 73101P
How to split integers that contains strings, such as 73101P
import pandas as pd
d = {'element': ['COGS', 'Other current assets', 'COGS','COGS', 'Other current assets', 'COGS'], 'account_number': ['5721-ES', '1101', '5721-ESP', '73101L', '73230K', '11106' ]}
df = pd.DataFrame(data=d)
df
我只需要没有字母的数字,然后将它们转换为数值。
但是,我无法拆分这些整数,例如 73101K
df.account_number = df.account_number.apply(lambda x: x.split('-')[0])
您可以使用 findall()
找到每个数字 (\d
),然后将它们连接在一起:
df["account_number"] = (
df["account_number"].str.findall(r"\d").str.join(sep="").astype(int)
)
print(df)
打印:
element account_number
0 COGS 5721
1 Other current assets 1101
2 COGS 5721
3 COGS 73101
4 Other current assets 73230
5 COGS 11106
import pandas as pd
d = {'element': ['COGS', 'Other current assets', 'COGS','COGS', 'Other current assets', 'COGS'], 'account_number': ['5721-ES', '1101', '5721-ESP', '73101L', '73230K', '11106' ]}
df = pd.DataFrame(data=d)
df
我只需要没有字母的数字,然后将它们转换为数值。
但是,我无法拆分这些整数,例如 73101K
df.account_number = df.account_number.apply(lambda x: x.split('-')[0])
您可以使用 findall()
找到每个数字 (\d
),然后将它们连接在一起:
df["account_number"] = (
df["account_number"].str.findall(r"\d").str.join(sep="").astype(int)
)
print(df)
打印:
element account_number
0 COGS 5721
1 Other current assets 1101
2 COGS 5721
3 COGS 73101
4 Other current assets 73230
5 COGS 11106