前提・実現したいこと
fileをデータフレームに格納して、重複したものを, 消去したいです。
dropnaのエラーを調べたのですが、同じものが見当たりませんでした。
nkmkさんのdropnaを参考にさせてもらいました。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) /tmp/ipykernel_39/4162667971.py in <module> ----> 1 pd.DataFrame({'cols':root_val}).dropna(columns='cols') /opt/conda/lib/python3.7/site-packages/pandas/util/_decorators.py in wrapper(*args, **kwargs) 309 stacklevel=stacklevel, 310 ) --> 311 return func(*args, **kwargs) 312 313 return wrapper TypeError: dropna() got an unexpected keyword argument 'columns'
該当のソースコード
root_val = glob('../input/sartorius-train-tif/fold_*/train/*') len(root_val) pd.DataFrame({'cols':root_val}).dropna(colums='cols')
PS.
pd.DataFrame({'cols':root_val}).dropna('cols')
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
Python3 (3.9)
pycharm 2020.3.5
macbookpro 16
2,下記のsource_codeです。
roots = [] i = 0 for i in range(len(root_val)): # roots.append(root_val[i][-22:-10]) root_val=root_val[i][-22:-10] if not root_val in roots: roots.append(root_val)
root_val = glob('../input/sartorius-train-tif/fold_*/train/*')
としているのであれば「ファイル『名』」の重複はありません。そうではなく、ファイル名(文字列)を "/" で分割した場合の最後の部分文字列(ベース名)の重複を取り除くという意味でしょうか?
melianさん、ご返信ありがとうございます。
実はですね、fold_0~4のなかは、重複されているのです。
0の名前と、1の名前の中身は同じなのです。
同じものと、そうでないものがあるということです。失礼しました。
なるほど、そうなりますとベース名の重複を取り除くことになりますが、データフレームに入力する前にパス名を分割してベース名を取り出す必要があるでしょう。まぁ、dropna() は必要ないでしょうね。
melianさん、ご返信ありがとうございます。複雑すぎてよくわかりません。もう少し詳しくお願いします。
おそらく別の誰かがきちんとした回答を寄せてくれるかと思いますので、それまでお待ち下さい。
かしこまりました。ありがとうございます。
roots = []
i = 0
for i in range(len(root_val)):
# roots.append(root_val[i][-22:-10])
root_val=root_val[i][-22:-10]
if not root_val in roots:
roots.append(root_val)
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/tmp/ipykernel_33/2444265015.py in <module>
3 for i in range(len(root_val)):
4 # roots.append(root_val[i][-22:-10])
----> 5 root_val=root_val[i][-22:-10]
6 if not root_val in roots:
7 roots.append(root_val[i][-22:-10])
IndexError: string index out of range
このようなエラーが出てしまいました。
なにか、間違ってるところは、ございますでしょうか?
あなたの回答
tips
プレビュー