私は、メジャーとマイナーのカラム名を持つテーブルをスクラップしています。私はこれを行うと、テーブルには、列名と列グループの両方を読んでくるので、そう(簡体字)のように列名がデータフレームにずれている:Pythonの最後の空のカラムに基づいてデータフレームを再フォーマットする
unnamed1 unnamed2 unnamed3 Year Passing Rushing Receiving
2015 NA 200 60 NA NA NA
2014 NA 180 70 NA NA NA
私の挑戦はその列名をシフトしています「年」は「2015年」などと一致します。問題は、シフトする列の数がテーブルごとに一定ではないことです(これは多くのうちの1つにすぎません)。現時点では私のコードは次のようになります。
table1=read_html('http://www.pro-football-reference.com/players/T/TyexWi00.htm')
df=table1[0]
to_shift=len(df.dropna(how='all', axis=1).columns) #Number of empty columns to shift by
df2=df.dropna(how='all',axis=1) #Drop the empty columns
df2.columns=df.columns[-to_shift:] #Shift all columns left by the number i've found
問題は、1つのstat(この単純な例を渡す)のどれを持っていないプレイヤーのために、データフレームの途中で完全に空白の列などがあるということです右端と同様に、コードが大きくずれることがあります。 1つが完全に空でない限り、右から左へ列を数える明確な方法はありますか?
多くのおかげで、私は私の質問がはっきりしていることを願っています!
に編集されたが、スーパークリーンではない確かに思いました。実際にシフトを行うためにこれを書き直すと、そのコードを編集として投稿します! –