[解決済み] ValueError: 値の長さがインデックスの長さと一致しない|Pandas DataFrame.unique()
2022-03-03 05:01:31
質問
新しいデータセットを取得したり、現在のデータセットのカラムの値を一意の値に変更しようとしています。 以下は、私が取得しようとしているものの例です。
A B
-----
0| 1 1
1| 2 5
2| 1 5
3| 7 9
4| 7 9
5| 8 9
Wanted Result Not Wanted Result
A B A B
----- -----
0| 1 1 0| 1 1
1| 2 5 1| 2 5
2| 7 9 2|
3| 8 3| 7 9
4|
5| 8
インデックスなんてどうでもいいんですが、どうもこれが問題のようです。 私のコードはとてもシンプルで、新しいdataFrameを使う方法と使わない方法の2つを試してみました。
#With New DataFrame
def UniqueResults(dataframe):
df = pd.DataFrame()
for col in dataframe:
S=pd.Series(dataframe[col].unique())
df[col]=S.values
return df
#Without new DataFrame
def UniqueResults(dataframe):
for col in dataframe:
dataframe[col]=dataframe[col].unique()
return dataframe
2回とも、"Length of Values does not match length of index"というエラーが出ています。
どうすればいいですか?
データフレームに長さの異なるnumpy配列のリストを代入しようとしているときに出るエラーで、以下のように再現できます。
4行のデータフレームです。
df = pd.DataFrame({'A': [1,2,3,4]})
今度は、2つの要素からなるリスト/配列を割り当てようとしています。
df['B'] = [3,4] # or df['B'] = np.array([3,4])
どちらもエラーアウト。
ValueError: 値の長さがインデックスの長さと一致しない
データフレームには4つの行がありますが、リストと配列には2つの要素しかないためです。
回避策 (use with caution): リスト/配列をpandasのSeriesに変換し、代入する際にSeriesの欠落したインデックスに NaN :
df['B'] = pd.Series([3,4])
df
# A B
#0 1 3.0
#1 2 4.0
#2 3 NaN # NaN because the value at index 2 and 3 doesn't exist in the Series
#3 4 NaN
もし、インデックスやカラム間の値の対応を気にしないのであれば、重複を削除した後、各カラムのインデックスをリセットすることができます。
df.apply(lambda col: col.drop_duplicates().reset_index(drop=True))
# A B
#0 1 1.0
#1 2 5.0
#2 7 9.0
#3 8 NaN
関連
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] Pandasのデータフレームから行を選択するために値のリストを使用する
-
[解決済み] pandasのデータフレームのインデックスをカラムに変換する方法
-
[解決済み] PandasのデータフレームをSQLのように'in'と'not in'でフィルタリングする方法
-
[解決済み] pandas DataFrameの特定のセルに対して、インデックスを使用して値を設定する
-
[解決済み] 変数の値からpandas DataFrameを構築すると、「ValueError: すべてのスカラー値を使用する場合は、インデックスを渡す必要があります。"
-
[解決済み] pandas series/dataframeの行を整数インデックスで選択する。
-
[解決済み] データフレームをピボットするにはどうしたらいいですか?
-
[解決済み】Pandas - カラムの階層型インデックスを平坦化する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python jiabaライブラリの使用方法について説明
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python 入出力と高次代入の基礎知識
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない