After after retrieving some data, some rows of my dataframe are composed by "string-like" lists, like this one:
bar foo
0 'A' 1
1 'B' 2
2 'B' "['2' ,'3']"
3 'B' '4'
4 'C' "['5' ,'3']"
Run Code Online (Sandbox Code Playgroud)
How could I turn the foo column into int values and take the bigger value with python pandas?
警告。这有点手册;
df['foo']=df['foo'].str.strip("''")#Strip ''
df['foo']=np.where(df['foo'].str.contains('\['),df['foo'].str.findall('(?<=\"\[\')\d(?=\'\,)|(?<=\')\d(?=\'\]\")'),df['foo'])# Extract digits sandwitched between special characters
df['foo']=df['foo'].explode().max(level = 0)
bar foo
0 'A' 1
1 'B' 2
2 'B' 3
3 'B' 4
4 'C' 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |