1
我有這樣一個數據幀:如何基於列的條件重命名的大熊貓據幀指數
import pandas as pd
df = pd.DataFrame(data= {"x": [1,2,3,4],"y":[5,6,7,8],"i":["a.0","a.1","a.0","a.1"]}).set_index("i")
df
日期:
x y
i
a.0 1 5
a.1 2 6
a.0 3 7
a.1 4 8
,我想基於列的條件重新命名指數:
什麼給我:
x y
i
a.0>6 3 7
a.1>6 4 8
我就地=真正嘗試過,但它不工作
df.loc[df["y"]>6].rename(index=lambda x: x+ ">6" , inplace=True)
我只能得到它的重置索引,通過申請,然後重新設置索引改變我列值完成:
df1 = df.reset_index()
df1.loc[df1["y"]>6, "i"] = df1.loc[df1["y"]>6, "i"].apply(lambda x: x+ ">6")
df1.set_index("i", inplace=True)
df1
日期:
x y
i
a.0 1 5
a.1 2 6
a.0>6 3 7
a.1>6 4 8
但是,這是如此複雜。 你知道如果有更簡單的方法嗎?
veeeery漂亮!謝謝!沒有想到numpy在哪裏 –