學習pandas DataFrame時,出現reindex不能重新索引,在論壇和百度都搜索了,沒有任何類似的搜索結果,是不是大家都沒碰見過這個問題?
示例如下:
import numpy as np
import pandas as pd
?
from pandas import DataFrame,Series
?
data=https://bbs.csdn.net/topics/np.arange(9).reshape(3,3)
#df=pd.DataFrame(index=['0','1'],columns=['one','two','three'])
df=pd.DataFrame(data,index=['b','a','c'],columns=['two','one','three'])
print(df)
df.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value='https://bbs.csdn.net/topics/100')
df
two one three
b 0 1 2
a 3 4 5
c 6 7 8
two one three
b 0 1 2
a 3 4 5
c 6 7 8
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
ff = df.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value='https://bbs.csdn.net/topics/100')
print(df)
print(ff)
reindex后得重新賦值: df = df.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value='https://bbs.csdn.net/topics/100')
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
還是不行,如上圖!uj5u.com熱心網友回復:
你照著我發的改啊,你都改的不一樣
ff = df.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value='https://bbs.csdn.net/topics/100')
print(df)
print(ff)
uj5u.com熱心網友回復:
兄弟,reindex的作用是根據引數重新生成一個新的df。如果你想替換成原來的df,需要重新賦值,df= df.reindex(index=['a','b','c','d'],
columns=['one','two','three','four'],
fill_value='https://bbs.csdn.net/topics/100')
希望對你有幫助~
uj5u.com熱心網友回復:
可以了,確實是笨的原因,多謝了。uj5u.com熱心網友回復:
我也被困擾了好久,最后查看pandas源代碼解決了如果想在不更改索引對應資料的前提下重置索引順序,需要再reindex函式里添加axis維度并賦值
df.reindex(['a', 'b','c'], axis="rows")
axis = 'rows' 重置行索引排序
axis = 'columns' 重置列索引排序
第一次回答問題~如果能解決的話求鼓勵哈~
uj5u.com熱心網友回復:
df.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value='https://bbs.csdn.net/topics/100')改成
df = df.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value='https://bbs.csdn.net/topics/100')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/172496.html
上一篇:經典滑模控制理論書籍《Sliding Mode Control Theory and Applications》的隨書代碼
