我有如下所示的数据框:
State State_theft_sum Model_1 Model_year_1
Alabama 2154 Chevrolet Pickup (Full Size) 2005.0
Alaska 547 Chevrolet Pickup (Full Size) 2003.0
Arizona 5270 Honda Accord 1997.0
DF 一直在继续,因此单独更改值不是方法。我虽然我可能能够使用循环的结果替换它们,这将按照我想要的方式格式化字符串,这是循环:
for model_year in df_total['Model_year_1']:
model_year = model_year.split('.')
model_year = model_year[0]
print(model_year)
循环结果:
2005
2003
1997
2004
1996
1997
(...)
我需要将其格式化为字符串,因为我会将其用作等值线图的文本。
有什么方法可以更改 DF 列中的值,而无需从循环中创建新的 DF,然后加入它们,然后删除带有 .0 的列?
答案 0 :(得分:1)
您可能只需将其转换为 float
,然后转换为 int
,然后转换为 str
以避免循环。
df["Model_year_1"] = df["Model_year_1"].astype('float').astype('int').astype('str')