前提・実現したいこと
list内の数値データを取り出し、今後算術演算子(>、<など)で条件式に利用したいが、
取り出したデータには[]が含まれており条件式に数値として利用できません。
[]なしで取り出すもしくはlistから数値を取り出した後で[]を取り除く方法があれば知りたいです。
実行環境
実行環境はWindows10、Annaconda(Spyder)を使用しています。
Python3.
1import geopandas as gpd 2import pandas as pd 3 4#shpファイルの読み込み 5yoshi = gpd.read_file("yoshikawa_2019.shp") 6#欠測値削除 7yoshi = yoshi.dropna(how='any') 8 9yoshiA_1 = yoshi['0402Amedia'] 10yoshiA_2 = yoshi['0414Amedia'] 11yoshiA_3 = yoshi['0426Amedia'] 12yoshiA_4 = yoshi['0508Amedia'] 13yoshiA_5 = yoshi['0520Amedia'] 14yoshiA_6 = yoshi['0601Amedia'] 15yoshiA_7 = yoshi['0613Amedia'] 16yoshiA_8 = yoshi['0625Amedia'] 17yoshiA_9 = yoshi['0707Amedia'] 18yoshiA_10 = yoshi['0719Amedia'] 19yoshiA_11 = yoshi['0731Amedia'] 20yoshiA_12 = yoshi['0812Amedia'] 21 22#列方向に結合 23yoshi_A = pd.concat([yoshiA_1,yoshiA_2,yoshiA_3,yoshiA_4,yoshiA_5,yoshiA_6,yoshiA_7,yoshiA_8,yoshiA_9,yoshiA_10,yoshiA_11,yoshiA_12],axis = 1) 24 25#観測日の準備 26time_A = pd.Series([20190402,20190414,20190426,20190508,20190520,20190601,20190613,20190625,20190707,20190719,20190731,20190812]) 27 28#文字列から時間への変換 29convert_time_A = pd.to_datetime(time_A, format='%Y%m%d') 30 31#移動平均後の観測日の準備 32timeA = pd.Series([20190414,20190426,20190508,20190520,20190601,20190613,20190625,20190707,20190719,20190731]) 33#文字列から時間への変換 34convert_timeA = pd.to_datetime(timeA, format='%Y%m%d') 35 36sakutuke = yoshi['totiriyou'] 37sakutuke = sakutuke.reset_index() 38sakutuke = sakutuke.drop(columns='index') 39sa = sakutuke.values.tolist() 40 41#最終的にcsvファイルに出力するためのpandasの準備 42yoshi_A_fil = pd.DataFrame(columns=[]) 43 44for i in range(0,620): 45 #i番目のポリゴンの抽出 46 b_A = yoshi_A.loc[i] 47 saku = sa[i] 48 #indexを時系列に変換 49 b_A.set_axis(convert_time_A, axis='index', inplace=True) 50 #seriesをnumpyに変換 51 b_A_np = b_A.values.tolist() 52 #計算した後方散乱係数を格納するためのlist 53 b_A_fil=[] 54 #加重移動平均 55 for j in range(0,12): 56 #最初と最後は計算出来ないため除去 57 if j == 0 or j == 11: 58 pass 59 #最初と最後以外の場合 60 else: 61 b_A_1 = b_A_np[j-1] 62 b_A_2 = b_A_np[j] 63 b_A_3 = b_A_np[j+1] 64 #加重移動平均の計算 65 b_A_2 = (b_A_1/4)+(b_A_2/2)+(b_A_3/4) 66 #listに追加 67 b_A_fil += [b_A_2] 68 69 #最終的にDataFrameから出力するためにlistをSeriesに変換 70 b_A_fil = pd.Series(b_A_fil) 71 #indexを時系列に変換 72 b_A_fil.set_axis(convert_timeA, axis='index', inplace=True) 73 b_A_fil["sakutuke"] = saku 74 #加重移動平均を格納したSeriesをDataFrameに追加 75 yoshi_A_fil = yoshi_A_fil.append(b_A_fil, ignore_index = True) 76 77
試したこと
b_A_filに追加する際にpandasやnumpyにしたりして試してみましたが、ダメでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/29 02:48
2021/06/29 02:54
2021/06/29 03:13
2021/06/29 05:05