学習ノート1:pandasはcsvファイルを読み取り、行と列を操作します.

1426 ワード

pandasファイルを読み込み、行と列を操作します.
pandasがcsvファイルを読み込むにはpandasが一般的である.read_csv()は、読み込まれたデータ型がDataFrameです.データを操作する場合、インデックス、カラム名、インデックスなし、カラム名の2つのケースがあります.
まず1つ目は
cwd = os.getcwd() #        
read_path = 'C:\\Users\\parter\\Downloads\\Modified.csv' #      
save_path =  'Downloads'
save_name =  'Modified.csv' #      
d = pd.read_csv(read_path) #       
df = d.dropna(axis=1)
|    date           pow

1 2019-07-25 00:00:00 3367.0 2 2019-07-25 00:15:00 3317.0 3 2019-07-25 00:30:00 3235.0 4 2019-07-25 00:45:00 3165.0 5 2019-07-25 01:00:00 3097.0
ある列を抽出する:df[‘列名’]ある行を抽出する:df[1:3]#2~4行もインデックスに基づいて行を選択することができる:df.loc[インデックス]ある列をインデックスとする:df.reset_index(df[‘列名’])列名を変更する:df.renames(columns={‘元列名’:‘新列名’})
2つ目は、元のファイルにインデックスとカラム名が含まれていない場合です.
2019-07-25 00:00:00 3367 2019-07-25 00:15:00 3317 2019-07-25 00:30:00 3235 2019-07-25 00:45:00 3165 2019-07-25 01:00:00 3097
このような状況は私が勉強している間に出会ったので、普遍性があるかどうか分かりません.このような状況にぶつかると、通常の方法は使いにくく、基本的には間違っています.私が何度も試した後、見つけた解決策は、読み取り時にインデックスとカラム名を付けることです.
dfm = pd.read_csv(read_path,names={'date','pow'}).dropna(axis=0)
dfm.head()

これで1つ目のケースのように操作できます
date	             pow

1 2019-07-25 00:00:00 3367.0 2 2019-07-25 00:15:00 3317.0 3 2019-07-25 00:30:00 3235.0 4 2019-07-25 00:45:00 3165.0 5 2019-07-25 01:00:00 3097.0