如何删除字符串数据框列中第 n 个之后的所有字符?
How to remove all characters after the n first in a string dataframe column?
让我们使用这个简单的数据框:
df = pd.DataFrame(dict(Name=['abc','d',np.nan,'vbnc'],NoMatter=[0,6,2,3]))
Name NoMatter
0 abc 0
1 d 6
2 NaN 2
3 vbnc 3
我想在名称列中删除前两个字符串之后的所有字符。
预期输出:
Name NoMatter
0 ab 0
1 d 6
2 NaN 2
3 vb 3
请问我该怎么办?
你可以这样做:
df['Name'] = df.Name.str[:2]
输出:
Name NoMatter
0 ab 0
1 d 6
2 NaN 2
3 vb 3
另一种方式也可以是这样的:
df.Name = df.Name.apply(lambda x: x[:2] if not pd.isnull(x) else x)
让我们使用这个简单的数据框:
df = pd.DataFrame(dict(Name=['abc','d',np.nan,'vbnc'],NoMatter=[0,6,2,3]))
Name NoMatter
0 abc 0
1 d 6
2 NaN 2
3 vbnc 3
我想在名称列中删除前两个字符串之后的所有字符。
预期输出:
Name NoMatter
0 ab 0
1 d 6
2 NaN 2
3 vb 3
请问我该怎么办?
你可以这样做:
df['Name'] = df.Name.str[:2]
输出:
Name NoMatter
0 ab 0
1 d 6
2 NaN 2
3 vb 3
另一种方式也可以是这样的:
df.Name = df.Name.apply(lambda x: x[:2] if not pd.isnull(x) else x)