tyl*_*oki 1 python split dataframe pandas
我有一个包含设备及其相应固件版本的数据框(例如1.7.1.3)。我正在尝试缩短固件版本以仅显示三个数字(例如1.7.1)。
我知道如何在单个字符串上执行此操作,但如何使其对于大型数据帧有效?
test = "1.2.3.4"
test = test.split(".")
'.'.join(test[0:-1])
Run Code Online (Sandbox Code Playgroud)
#sample dataframe:
import pandas as pd
df=pd.DataFrame({'data': {0: '1.2.3.4', 1: '1.2.3.9', 2: '1.2.3.8'}})
Run Code Online (Sandbox Code Playgroud)
为此,您可以使用:
df['data']=df['data'].str.split('.').str[0:3].apply('.'.join)
Run Code Online (Sandbox Code Playgroud)
或者
df['data']=df['data'].str[0:5]
Run Code Online (Sandbox Code Playgroud)
或者
df['data']=df['data'].str[::-1].str.split('.',1).str[1].str[::-1]
Run Code Online (Sandbox Code Playgroud)
表现: