我的數據集(Excel)中列提取時間戳有一個單一的列,但有太多的信息。我想根據時間戳將它轉換爲表格格式。我想將它轉換成列,如:時間,名稱,網址。我正在嘗試使用Python熊貓來實現這一點。如何使用Python熊貓
我在看數據集是這樣的:
6/10/2017 8:40:34 AM
James
URL:.....(multiple rows)
6/10/2017 8:45:34 AM
Jenny
URL:....
我怎麼可以這樣使用Python熊貓?
我的數據集(Excel)中列提取時間戳有一個單一的列,但有太多的信息。我想根據時間戳將它轉換爲表格格式。我想將它轉換成列,如:時間,名稱,網址。我正在嘗試使用Python熊貓來實現這一點。如何使用Python熊貓
我在看數據集是這樣的:
6/10/2017 8:40:34 AM
James
URL:.....(multiple rows)
6/10/2017 8:45:34 AM
Jenny
URL:....
我怎麼可以這樣使用Python熊貓?
一種方法是使用重塑提供的數值是在精確的順序
df = pd.DataFrame(np.reshape(df.values,(len(df)//3,3)))
df.columns = ['Time', 'Name', 'URL']
Time Name URL
0 6/10/2017 8:40:34 AM James URL:.....(multi rows)
1 6/10/2017 8:45:34 AM Jenny URL:....
編輯:這是另一種方法
組每三行填充NaN並刪除重複項。
DF [ '時間'] = pd.to_datetime(DF [ 'COL'],誤差= '裹脅')
df.loc [DF [ 'COL']。str.contains( 'URL' )'URL'] = df ['col']
df ['Name'] = df [(df ['Time']。isnull()& df ['URL']。isnull())] .COL
df.drop( 'COL',軸線= 1).groupby(df.index // 3).ffill()。bfill()。drop_duplicates()
你得到
Time URL Name
0 2017-06-10 08:40:34 URL:.....(multi rows) James
3 2017-06-10 08:45:34 URL:.... Jenny
您好我無法使用位置索引的數據。 ,多行表示時間並不總是像3,6,9列.....我感到困惑的是如何找到那些時間戳......我打算先找到他們,並基於實時數據的位置,進一步索引... –
@YunongLiu,檢查編輯 – Vaishali
非常感謝!我正在使用你的方法來處理它。希望我能解決這個問題。 –
這裏是一個方法,可以幫助。
#create the dataframe
df = pd.DataFrame({'time': ['6/10/2017 08:40:34 AM', '6/10/2017 08:45:34 AM'], 'name':['James', 'Jenny'], 'url':['www.yahoo.com', 'www.google.com']})
# Set the index of the dataframe to time
indexed_df = df.set_index('time')
# review the original dataframe
df
Out[11]:
name time url
0 James 6/10/2017 08:40:34 AM www.yahoo.com
1 Jenny 6/10/2017 08:45:34 AM www.google.com
# check the newly indexed dataframe
indexed_df
Out[12]:
name url
time
6/10/2017 08:40:34 AM James www.yahoo.com
6/10/2017 08:45:34 AM Jenny www.google.com
我希望這有助於。這是一個從此doc https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.set_index.html
想超越這個解決方案問題是我的數據集不僅僅是兩條記錄,而且還有一百條.... –
採取你是說有與'URL'或值多行有'Time','Name'和'URL'多三胞胎? – BenWurth
我們可以假設,在數據集中行可分爲樣日期時間,名稱匹配以便組,URL(1或以上)? –
網址中的多行表示我無法根據其位置提取數據。所以我想先獲取時間戳,然後使用時間戳位置來獲取其他變量,如名稱和URL。 –