[英]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.apply
和float
:
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.