pandas 数据帧上的字符串拆分和连接

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)

Anu*_*bas 5

#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)

表现:

在此输入图像描述