如何从另一列的截断值填充数据框中的一列

时间:2019-08-08 16:42:06

标签: python-3.x pandas dataframe truncate

我在名为Pandas的{​​{1}}数据帧(final_combine_df)中有一列。我将有一个15个字符串,例如:'371899201001045'。我想在数据框中创建一个名为GEOID的新列,该列仅等于'CB_GrpID'值的前12个字符(例如:'371899201001')。我尝试了此操作,但是它只是在新的GEOID中返回了相同的GEOID值(未截断):

'CB_GrpID'

我在这里做什么错了?

final_combine_df['CB_GrpID'] = final_combine_df['GEOID'][:12]

2 个答案:

答案 0 :(得分:2)

pandas.Series.str

Working with text
您正在寻找str访问器。它可以访问每个单元格中的字符串以及“矢量化”字符串方法。

final_combined_df['GEOID'].str[:12]

您在做什么:

final_combined_df['GEOID'][:12]

仅获得该列的前12个元素。

答案 1 :(得分:0)

遵循此格式。使用lambda函数返回字符串的前12位数字。注意python从索引0开始,上限是互斥(不包括),这意味着您要的最后一个元素在索引11,但是您将上限设置为12以确保包括11。仅供参考,以防您不知道。

df[‘new_var’] = df[‘old_var’].apply(lambda x: x[:12])