Ich versuche, alle #keywords
aus der tweetText
in eine separate Spalte zusammen mit anderen Spalten zu setzen. Andere Spalten habe ich nicht erwähnt, da sie nur Verwirrung stiften würden.Parse Eingabe und Struktur der Ausgabe # Schlüsselwörter aus Tweets
Die tweetText
, die nicht #keywords
hat, wird gelöscht, und diejenigen, die haben, sollen herausgefischt und in eine andere Spalte gestellt werden.
Ich bin irgendwie in dem Teil verloren, wo ich die #Keywords
von der tweetText
filtern muss.
Input: TweetsID, Tweets (hat viel mehr Spalten)
714602054988275712,I'm at MK Appartaments in Dobele
714600471512670212,"Baana bicycle counter.Today: 9 Same time last week: 7 Trend: ↑28% This year: 60 811 Last year: 802 079 #Helsinki #pyöräily #cycling"
714598616703320065,"Just posted a photo @ Moscow, Russia"
714593900053180416,We're #hiring! Read about our latest #job opening here: CRM Specialist #lifeinspiringcareers #Moscow #Sales
714591942949138434,Just posted a photo @ Kfc
714591380660731904,Homeless guide on my festival of tours from locals for locals #открытаякарта. Shot by Alexandr
714591338977579009,"Who we are? #edmonton #edm #edmlife #edms #edmlifestyle #edmfamily #edmgirls #edmlov"
Erwartete Ausgabe: tweetId, HashKey (werden andere Spalten zu)
714600471512670212,#Helsinki #pyöräily #cycling
714593900053180416,#hiring! #lifeinspiringcareers #Moscow #Sales
714591380660731904,#открытаякарта
714591338977579009,#edmonton #edm #edmlife #edms #edmlifestyle #edmfamily #edmgirls #edmlov"
Code:
import pandas as pd
df1 = pd.read_csv('Turkey_28.csv')
key_word = df1[['tweetID', 'tweetText']].set_index('tweetID')['tweetText']
key_word = key_word.dropna().apply(lambda x: eval(x))
key_word = key_word[key_word.apply(type) == dict]
#I am lost in this section on how to select the hash keywords?
def get_key_words(x):
return pd.Series(x['tweetText'],
key_word = key_word.apply(get_key_word)
df2 = pd.concat([coords, df1.set_index('tweetID').reindex(coords.index)], axis=1)
df2.to_csv('Turkey_key_word.csv', index=True)
Schätzen Sie die Vorschläge.
bearbeiten One:
Wenn analysiert Eingang in die gewählte Antwort erhalte ich einige Syntaxfehler
Code:
import re
import pandas as pd
df = pd.readcsv('Turkey_Text.csv')
tweet_column = ['tweetText']
for idx in range(len(tweet_column)):
tweet = tweet_column[idx]
hashtag_list = re.findall(r('#\w+)', tweet)
tweet_column[idx] = " ".join(hashtag_list)
print tweet_column[idx]
Fehler:
File "keyword_split.py", line 9
tweet_column[idx] = " ".join(hashtag_list)
^
SyntaxError: invalid syntax
Erwartete Ausgabe
714600471512670212,#Helsinki
714600471512670212,#pyöräily
714600471512670212,#cycling
714593900053180416,#hiring!
714593900053180416,#lifeinspiringcareers
714593900053180416,#Moscow
714593900053180416,#Sales
714591380660731904,#открытаякарта
714591338977579009,#edmonton
714591338977579009,#edm
714591338977579009,#edmlife
714591338977579009,#edms
714591338977579009,#edmlifestyle
714591338977579009,#edmfamily
714591338977579009,#edmgirls
714591338977579009,#edmlov"
Dank .. ich nicht streng bin mit nur Pandas verwenden, nur, dass es Header die Spalten zu identifizieren. Der vollständige Datensatz hat ungefähr 20 Spalten und ich nehme an, dass es in reinem Python sehr verwirrend sein würde. Wenn Sie mit möglichem passendem Code helfen können. Das wäre großartig. –
Sorry, im Moment habe ich nicht genug Erfahrung mit Lambda-Ausdrücken, um Ihnen in meiner Freizeit zu helfen. Vielleicht wird jemand anderes mitkommen und helfen. – turtlefranklin
In der Zwischenzeit Kasse die Ressourcen, die ich verlinkt, um zu sehen, ob Sie es selbst ausprobieren können – turtlefranklin