繁体   English   中英

使用 Python 将带有数字的字符串转换为整数列表

[英]Convert a string with numbers into a list of integers using Python

我有一个带有数字字符串的 dataframe 列,我想将其转换为数字列表。 output 必须是一个列表,因为我需要能够提取索引值(例如,df.probabilities[0][0] 并返回 0.001)。

这是我当前的 dataframe:

 probabilities
 0.001, 0.002, 0.003, 0.004

我需要这个:

  probabilities
  [0.001, 0.002, 0.003, 0.004]

先感谢您。

您可以使用 DataFrame.apply 中的列表理解调用DataFrame.applyfloat


import pandas as pd


def parse_probabilities(string):
    return [float(value) for value in string.split(',')]


df = pd.DataFrame({'probabilities': ['0.001, 0.002, 0.003, 0.004']})

df['probabilities'] = df['probabilities'].apply(parse_probabilities)

print(df)
print(df.probabilities[0][0])

使用带有拆分的.str 访问器:

df['probabilities'].str.split(',\s?')
df = pd.DataFrame({'probabilities': ['0.001, 0.002, 0.003, 0.004', '0.005, 0.006, 0.007, 0.008']})
df.probabilities = df.probabilities.str.split(',', expand=True).astype(float).apply(list, axis=1)
print(df, df.probabilities[0][0], sep='\n')
                  probabilities
0  [0.001, 0.002, 0.003, 0.004]
1  [0.005, 0.006, 0.007, 0.008]
0.001

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM