gpt4 book ai didi

python - 从 pandas 数据帧的所有列和行中删除值

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:50 25 4
gpt4 key购买 nike

我有一个看起来像这样的 pandas 数据框

It is a large dataset with 1500 rows and 200 columns

我想知道如何删除行和列中每个值之前的数字。例子这些值如下所示:1:0.3452:-0.467

我只希望值是这样的:0.345-0.467

我怎样才能做到这一点?

最佳答案

选择没有第一个的所有列 iloc并为每一列apply split并通过 [1] 选择列表的第二个值,最后转换为 float:

df = pd.DataFrame({0: ['4,8,7', '7,6'], 
1: ['1: 0.345', '1: 0.345'],
2: ['2: -0.467', '2: -0.467']})
print (df)
0 1 2
0 4,8,7 1: 0.345 2: -0.467
1 7,6 1: 0.345 2: -0.467

df.iloc[:, 1:] = df.iloc[:, 1:].apply(lambda x: x.str.split(':').str[1]).astype(float)
print (df)
0 1 2
0 4,8,7 0.345 -0.467
1 7,6 0.345 -0.467

如果不可能有 NaN 值,请使用 cᴏʟᴅsᴘᴇᴇᴅ's solution :

df.iloc[:, 1:] = df.iloc[:, 1:].applymap(lambda x: x.split(':')[-1]).astype(float)

关于python - 从 pandas 数据帧的所有列和行中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47449222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com