☆☆ 新着記事 ☆☆

2019年5月12日日曜日

Pandasのデータフレームに使う小技


pandasのデータフレームを操作する時によく使う小技をまとめておきます。

◇ラベルの追加
tweet_df = pd.DataFrame(data=[[tweet.created_at,tweet.full_text,tweet.favorite_count,tweet.retweet_count] for tweet in tweets],
                                    columns=['Date','Tweet','Like','RT'])

tweet_df['SA'] = np.array([ analize_sentiment(tweet) for tweet in tweet_df['Tweet'] ])


◇ソート
tweet_df_sorted = tweet_df.sort_values('RT', ascending=False)

注)ソートすると、Index番号自身もソートされてしまう。
(ソート前)
                 Date
0 2019-05-30 11:21:45
1 2019-05-30 00:59:43
2 2019-05-30 00:46:39
3 2019-05-30 00:32:06
4 2019-05-29 17:23:55

(ソート後)
                 Date
3 2019-05-30 00:32:06
1 2019-05-30 00:59:43
2 2019-05-30 00:46:39
0 2019-05-30 11:21:45
4 2019-05-29 17:23:55


◇重複データの抽出・削除
duplicated()メソッド:
デフォルトは全部一致の場合、重複と判断。 列を指定して判断する場合、

print(tweet_df.duplicated(subset='RT'))

(Output)
45    False
66    False
75     True
93     True
37     True
69     True
重複しているデータの1つ目は、重複していないものとしてFalseが返される。


◇重複データの削除
print(df.drop_duplicates(subset='RT'))
                  Date                                              Tweet  Like    RT  SA
38 2019-05-12 06:07:30  RT @LindseyGrahamSC: Will stand behind Preside...     0  6959   1
23 2019-05-12 06:08:40  RT @LindseyGrahamSC: When it comes to China, t...     0  5875   1
56 2019-05-12 06:05:45  RT @PalmerReport: This is an actual sentence f...        0  5845   1
26 2019-05-12 06:08:24  RT @danpfeiffer: Trump is engaged in an unprec...       0  1353   1


◇Columnを指定してPrintout
print(df['Tweet'])

38    RT @LindseyGrahamSC: Will stand behind Preside...
23    RT @LindseyGrahamSC: When it comes to China, t...
56    RT @PalmerReport: This is an actual sentence f...
26    RT @danpfeiffer: Trump is engaged in an unprec...


◇pandas フレームワークの要素の表示

(htmlでの記述)

    ◇ Latest tweet by President Trump
     <p>{{tweet_df.iloc[0].Date}}</p>
     <p>{{tweet_df.iloc[0].Tweet}}</p>
     <p><span class="text-primary"><i class="fas fa-heart"></i></span>  {{tweet_df.iloc[0].Like}}
        <span class="text-primary"><i class="fas fa-retweet"></i></span>{{tweet_df.iloc[0].RT}}</p>




0 件のコメント:

コメントを投稿