不知道你是否有两列(A='Name',B='Name\u Age'),有没有一种快速的方法从'Name\u Age'中删除'Name',这样你就可以快速得到'Age',就像反向连接一样??你知道吗
我考虑过“字符串拆分”,但在某些情况下(当没有字符串拆分因子时),我确实需要一个方法来从另一列的字符串中删除一列的字符串。你知道吗
#example data below:
import pandas as pd
data = {'Name':['Mark','Matt','Michael'], 'Name_Age':['Mark 14','Matt 29','Michael 18']}
df = pd.DataFrame(data)
使用字符串切片:
您可以使用
str.split()
用空格分隔符将值与列名分隔开来,然后用新名称重命名列名。你知道吗1) 使用
str.split()
或者
或者,通过将拆分的列表转换为新的数据帧:
2) 另一个使用
str.partition
的选项3) 另一个使用
df.assign
和lambda
将
split()
与默认分隔符一起使用,如下所示,并使用新列Age
将值赋回。你知道吗您可以尝试使用pandas
apply
函数,该函数允许您定义自己的函数以传递给数据帧的每一行:age_from_name_age
接受两个字符串(名称和名称年龄),只返回年龄。然后,在apply语句中,我定义了一个匿名lambda函数,它只接收一行并将正确的字段传递给age_from_name_age
。你知道吗相关问题 更多 >
编程相关推荐