ユーザーが* CSVファイルを入力するスクリプトを作成しています。このCSVファイルには、いくつかの「必須列」(これらの列が存在しない場合はエラーがスローされます)と「デフォルト列」(これらの列が提供されていない場合はデフォルト値があると想定)があります。私は後者にどう対処するか混乱しています。
具体的な例を次に示します。
import pandas as pd
df = pd.read_csv("inputfile1.csv")
print(df)
filename category type
0 records1.txt 3 A1
1 records2.txt 4 A1
2 records7.txt 5 A1
3 records8.txt 1 C4
このファイルには、2つの必須列filename
とcategory
、およびデフォルトの列がありますtype
。ユーザーが代わりに入力した場合:
import pandas as pd
df = pd.read_csv("inputfile1b.csv")
print(df)
filename category
0 records1.txt 3
1 records2.txt 4
2 records7.txt 5
3 records8.txt 1
私はそれtype
がA1
各行にとって価値があると思います。
これらのデフォルト値をどのように設定しますか?1つの試みは、列が存在するかどうかを確認することです。そうでない場合は、どういうわけかこれらの値を作成しますA1
if 'type' not in df.columns:
df.type = "A1"
ただし、特定の行に値がない場合はどうすればよいですか?これらもデフォルト値の行と見なす必要がありますA1
import pandas as pd
df = pd.read_csv("inputfile1c.csv")
print(df)
filename category type
0 records1.txt 3 ### this is A1
1 records2.txt 4 A1
2 records7.txt 5 ### this is A1
3 records8.txt 1 C4
fillna
動作します
if 'type' not in df:
df['type'] = "A1"
else:
df['type'].fillna('A1', inplace=True)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加