python - 更改数据框行名称

标签 python pandas dataframe split rename

我有一个 df 看起来像:

BBG.LON.123.S_CAR_ADJ_DPS    343.94325
BBG.LON.436.S_CAR_ADJ_DPS    236.51530

我正在尝试重命名行名称(删除每个行名称的“_CAR_ADJ_DPS”元素并重命名列“id”,这样我得到的 df 看起来像:

           id
BBG.LON.123.S   343.94325
BBG.LON.436.S   236.51530

我尝试使用以下行但没有成功:

pd.DataFrame(pd.Series(np.unique([row.split('_')[0] for row in df.rows]), name='id'))

接下来我可以尝试什么?

最佳答案

我想你可以使用 str.splitrename_axis (pandas 0.18.0 中的新功能):

print (df)
                                   a
BBG.LON.123.S_CAR_ADJ_DPS  343.94325
BBG.LON.436.S_CAR_ADJ_DPS  236.51530

df.index = df.index.str.split('_').str[0]
df = df.rename_axis('id')
#if use pandas bellow 0.18.0
#df.index.name = 'id'

print (df)
                       a
id                      
BBG.LON.123.S  343.94325
BBG.LON.436.S  236.51530

关于python - 更改数据框行名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37844522/

相关文章:

python - 如何在 Python 3.7 中向 bytearray 添加字节?

python - 如何在战舰项目的python3中检测碰撞

python - 过滤 Pandas Dataframe 中不同的列

python - Django makemigrations - 没有安装标签为 '<appname>' 的应用程序

python - 排除目录,python nosetest中的模块

python - 查找数据框中每一列的平均值,按列分组,不包括一个值

python - 切片数据框,但 len 错误

python - 对列值进行分组 2 小时

python - 更改时间序列数据框中的日期 Python

python - 使用 Pandas 根据另一列的一部分更改列值