pd.concat 是将这两个数据帧组合成一个循环的正确函数吗?
Is pd.concat the correct function for combining these two dataframes in a loop?
我正在尝试通过 Spotipy 库访问 Spotify 的 API。我正在使用循环为我听过的最后 50 首歌曲的曲目和音频特征构建一个数据框。
我想可能有更有效的方法来做到这一点,但截至目前,我有一个循环可以将数据添加到名为 pddf
的现有数据帧中。
我希望通过逐行添加列来完成此操作,因为添加的数据将取决于该行中的轨道 uri。
for index, row in pddf.iterrows():
track = list(row['track.uri'])
track = re.findall('(?<=track:).*$', row['track.uri'])
features = sp.audio_features(tracks=track)
audio_features = pd.DataFrame(features)
now = datetime.datetime.now()
date = '%d/%d/%d' % (now.month, now.day, now.year)
audio_features['Date'] = date
audio_features = audio_features[
['Date', 'acousticness', 'analysis_url', 'danceability', 'duration_ms', 'energy', 'id',
'instrumentalness', 'key', 'liveness', 'loudness', 'mode', 'speechiness', 'tempo', 'time_signature',
'track_href', 'type', 'uri', 'valence']]
pddf = pd.concat([pddf, audio_features], axis=0)
我感觉要么 pd.concat
是问题所在,要么是我解决问题的方式效率低下,但 returns 这个:
0 2020-03-19T02:31:16.952Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 180674 FALSE USAT21904066 https://open.spotify.com/track/47IXLhp3c6mu7NqvpuhuLi https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi 47IXLhp3c6mu7NqvpuhuLi FALSE Can't Feel My Legs 67 https://p.scdn.co/mp3-preview/64421f93c1a50553650656789726942083f5c567?cid=a98a5116ec7149be9fbec4e5ff8afc18 6 track spotify:track:47IXLhp3c6mu7NqvpuhuLi
1 2020-03-19T02:28:17.087Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 171210 TRUE USAT22001224 https://open.spotify.com/track/79EVtighsMYkWahVb9MnF8 https://api.spotify.com/v1/tracks/79EVtighsMYkWahVb9MnF8 79EVtighsMYkWahVb9MnF8 FALSE Wasted 68 https://p.scdn.co/mp3-preview/2d75b6c8a2699b911fbcaff1d2625bb6df4d183b?cid=a98a5116ec7149be9fbec4e5ff8afc18 5 track spotify:track:79EVtighsMYkWahVb9MnF8
2 2020-03-19T02:25:25.899Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 167915 TRUE USAT22001223 https://open.spotify.com/track/527k23H0A4Q0UJN3vGs0Da https://api.spotify.com/v1/tracks/527k23H0A4Q0UJN3vGs0Da 527k23H0A4Q0UJN3vGs0Da FALSE After Party 71 https://p.scdn.co/mp3-preview/647283c4f566948abd74087459fe592b5fd39dac?cid=a98a5116ec7149be9fbec4e5ff8afc18 4 track spotify:track:527k23H0A4Q0UJN3vGs0Da
3 2020-03-19T02:18:06.030Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}, {'external_urls': {'spotify': 'https://open.spotify.com/artist/3xWSt0mL474uQlh5Zm6NsW'}, 'href': 'https://api.spotify.com/v1/artists/3xWSt0mL474uQlh5Zm6NsW', 'id': '3xWSt0mL474uQlh5Zm6NsW', 'name': 'Offset', 'type': 'artist', 'uri': 'spotify:artist:3xWSt0mL474uQlh5Zm6NsW'}, {'external_urls': {'spotify': 'https://open.spotify.com/artist/0VRj0yCOv2FXJNP47XQnx5'}, 'href': 'https://api.spotify.com/v1/artists/0VRj0yCOv2FXJNP47XQnx5', 'id': '0VRj0yCOv2FXJNP47XQnx5', 'name': 'Quavo', 'type': 'artist', 'uri': 'spotify:artist:0VRj0yCOv2FXJNP47XQnx5'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 157133 TRUE USAT21907692 https://open.spotify.com/track/6SPgp2qK3fb4wPX1SldrNf https://api.spotify.com/v1/tracks/6SPgp2qK3fb4wPX1SldrNf 6SPgp2qK3fb4wPX1SldrNf FALSE Had Enough (feat. Quavo & Offset) 64 https://p.scdn.co/mp3-preview/8ef4943beb019f23b02252aab0b36c313ff31415?cid=a98a5116ec7149be9fbec4e5ff8afc18 9 track spotify:track:6SPgp2qK3fb4wPX1SldrNf
4 2020-03-18T22:16:21.225Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 180674 FALSE USAT21904066 https://open.spotify.com/track/47IXLhp3c6mu7NqvpuhuLi https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi 47IXLhp3c6mu7NqvpuhuLi FALSE Can't Feel My Legs 67 https://p.scdn.co/mp3-preview/64421f93c1a50553650656789726942083f5c567?cid=a98a5116ec7149be9fbec4e5ff8afc18 6 track spotify:track:47IXLhp3c6mu7NqvpuhuLi
0 3/19/20 0.237 https://api.spotify.com/v1/audio-analysis/47IXLhp3c6mu7NqvpuhuLi 0.703 180675 0.655 47IXLhp3c6mu7NqvpuhuLi 0 11 0.199 -6.226 0 0.0782 140.047 4 https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi audio_features spotify:track:47IXLhp3c6mu7NqvpuhuLi 0.414
0 3/19/20 0.0714 https://api.spotify.com/v1/audio-analysis/79EVtighsMYkWahVb9MnF8 0.743 171210 0.753 79EVtighsMYkWahVb9MnF8 3.02E-06 1 0.088 -4.479 1 0.0424 157.047 4 https://api.spotify.com/v1/tracks/79EVtighsMYkWahVb9MnF8 audio_features spotify:track:79EVtighsMYkWahVb9MnF8 0.695
0 3/19/20 0.00981 https://api.spotify.com/v1/audio-analysis/527k23H0A4Q0UJN3vGs0Da 0.629 167916 0.692 527k23H0A4Q0UJN3vGs0Da 0.328 5 0.603 -8.045 1 0.0376 162.948 4 https://api.spotify.com/v1/tracks/527k23H0A4Q0UJN3vGs0Da audio_features spotify:track:527k23H0A4Q0UJN3vGs0Da 0.453
0 3/19/20 0.262 https://api.spotify.com/v1/audio-analysis/6SPgp2qK3fb4wPX1SldrNf 0.748 157133 0.789 6SPgp2qK3fb4wPX1SldrNf 0 2 0.13 -4.579 1 0.103 147.957 4 https://api.spotify.com/v1/tracks/6SPgp2qK3fb4wPX1SldrNf audio_features spotify:track:6SPgp2qK3fb4wPX1SldrNf 0.671
0 3/19/20 0.237 https://api.spotify.com/v1/audio-analysis/47IXLhp3c6mu7NqvpuhuLi 0.703 180675 0.655 47IXLhp3c6mu7NqvpuhuLi 0 11 0.199 -6.226 0 0.0782 140.047 4 https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi audio_features spotify:track:47IXLhp3c6mu7NqvpuhuLi 0.414
添加的数据从 new 行开始,在数据集的末尾而不是附加到每一行...
如果有人能指出我哪里出错了,我很难过 D:
只是一个警告,我写这篇文章的前提是 pddf['track.uri'] 和 audio_features['uri'] 是两个数据帧之间的公共列。如果我误解了您的数据结构,您可能需要调整我在示例中使用的具体名称。
好的,所以您可能遇到的第一个问题与 pd.concat() 关系不大,而与您处理此问题的方式有关。如果可以,请尝试一次生成音频特征的 DataFrame,而不是在每个循环中生成一个 DataFrame。首先,获取您需要使用的所有轨道 uri 的列表。然后你可以使用循环来制作一个列表列表(或者,更好的是,一个元组列表)。 然后,你可以把它变成一个DataFrame。
为了真正将它变成一个 DataFrame,通常最好使用合并将它们连接到一个公共键上,比如轨道 uri。在这种情况下:
pddf = pddf.merge(audio_features,left_on='track.uri',right_on='uri')
我正在尝试通过 Spotipy 库访问 Spotify 的 API。我正在使用循环为我听过的最后 50 首歌曲的曲目和音频特征构建一个数据框。
我想可能有更有效的方法来做到这一点,但截至目前,我有一个循环可以将数据添加到名为 pddf
的现有数据帧中。
我希望通过逐行添加列来完成此操作,因为添加的数据将取决于该行中的轨道 uri。
for index, row in pddf.iterrows():
track = list(row['track.uri'])
track = re.findall('(?<=track:).*$', row['track.uri'])
features = sp.audio_features(tracks=track)
audio_features = pd.DataFrame(features)
now = datetime.datetime.now()
date = '%d/%d/%d' % (now.month, now.day, now.year)
audio_features['Date'] = date
audio_features = audio_features[
['Date', 'acousticness', 'analysis_url', 'danceability', 'duration_ms', 'energy', 'id',
'instrumentalness', 'key', 'liveness', 'loudness', 'mode', 'speechiness', 'tempo', 'time_signature',
'track_href', 'type', 'uri', 'valence']]
pddf = pd.concat([pddf, audio_features], axis=0)
我感觉要么 pd.concat
是问题所在,要么是我解决问题的方式效率低下,但 returns 这个:
0 2020-03-19T02:31:16.952Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 180674 FALSE USAT21904066 https://open.spotify.com/track/47IXLhp3c6mu7NqvpuhuLi https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi 47IXLhp3c6mu7NqvpuhuLi FALSE Can't Feel My Legs 67 https://p.scdn.co/mp3-preview/64421f93c1a50553650656789726942083f5c567?cid=a98a5116ec7149be9fbec4e5ff8afc18 6 track spotify:track:47IXLhp3c6mu7NqvpuhuLi
1 2020-03-19T02:28:17.087Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 171210 TRUE USAT22001224 https://open.spotify.com/track/79EVtighsMYkWahVb9MnF8 https://api.spotify.com/v1/tracks/79EVtighsMYkWahVb9MnF8 79EVtighsMYkWahVb9MnF8 FALSE Wasted 68 https://p.scdn.co/mp3-preview/2d75b6c8a2699b911fbcaff1d2625bb6df4d183b?cid=a98a5116ec7149be9fbec4e5ff8afc18 5 track spotify:track:79EVtighsMYkWahVb9MnF8
2 2020-03-19T02:25:25.899Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 167915 TRUE USAT22001223 https://open.spotify.com/track/527k23H0A4Q0UJN3vGs0Da https://api.spotify.com/v1/tracks/527k23H0A4Q0UJN3vGs0Da 527k23H0A4Q0UJN3vGs0Da FALSE After Party 71 https://p.scdn.co/mp3-preview/647283c4f566948abd74087459fe592b5fd39dac?cid=a98a5116ec7149be9fbec4e5ff8afc18 4 track spotify:track:527k23H0A4Q0UJN3vGs0Da
3 2020-03-19T02:18:06.030Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}, {'external_urls': {'spotify': 'https://open.spotify.com/artist/3xWSt0mL474uQlh5Zm6NsW'}, 'href': 'https://api.spotify.com/v1/artists/3xWSt0mL474uQlh5Zm6NsW', 'id': '3xWSt0mL474uQlh5Zm6NsW', 'name': 'Offset', 'type': 'artist', 'uri': 'spotify:artist:3xWSt0mL474uQlh5Zm6NsW'}, {'external_urls': {'spotify': 'https://open.spotify.com/artist/0VRj0yCOv2FXJNP47XQnx5'}, 'href': 'https://api.spotify.com/v1/artists/0VRj0yCOv2FXJNP47XQnx5', 'id': '0VRj0yCOv2FXJNP47XQnx5', 'name': 'Quavo', 'type': 'artist', 'uri': 'spotify:artist:0VRj0yCOv2FXJNP47XQnx5'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 157133 TRUE USAT21907692 https://open.spotify.com/track/6SPgp2qK3fb4wPX1SldrNf https://api.spotify.com/v1/tracks/6SPgp2qK3fb4wPX1SldrNf 6SPgp2qK3fb4wPX1SldrNf FALSE Had Enough (feat. Quavo & Offset) 64 https://p.scdn.co/mp3-preview/8ef4943beb019f23b02252aab0b36c313ff31415?cid=a98a5116ec7149be9fbec4e5ff8afc18 9 track spotify:track:6SPgp2qK3fb4wPX1SldrNf
4 2020-03-18T22:16:21.225Z https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B album [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] https://open.spotify.com/album/7z4GhRfLqfSkqrj5F3Yt2B https://api.spotify.com/v1/albums/7z4GhRfLqfSkqrj5F3Yt2B 7z4GhRfLqfSkqrj5F3Yt2B [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273da7dc7bd8beaa9bc9ceb8297', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02da7dc7bd8beaa9bc9ceb8297', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851da7dc7bd8beaa9bc9ceb8297', 'width': 64}] Heaven Or Hell 3/13/20 day 12 album spotify:album:7z4GhRfLqfSkqrj5F3Yt2B [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Gso3d4CscCijv0lmajZWs'}, 'href': 'https://api.spotify.com/v1/artists/4Gso3d4CscCijv0lmajZWs', 'id': '4Gso3d4CscCijv0lmajZWs', 'name': 'Don Toliver', 'type': 'artist', 'uri': 'spotify:artist:4Gso3d4CscCijv0lmajZWs'}] ['AD', 'AE', 'AR', 'AT', 'AU', 'BE', 'BG', 'BH', 'BO', 'BR', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FR', 'GB', 'GR', 'GT', 'HK', 'HN', 'HU', 'ID', 'IE', 'IL', 'IS', 'IT', 'JO', 'JP', 'KW', 'LB', 'LI', 'LT', 'LU', 'LV', 'MA', 'MC', 'MT', 'MX', 'MY', 'NI', 'NL', 'NO', 'NZ', 'OM', 'PA', 'PE', 'PH', 'PL', 'PS', 'PT', 'PY', 'QA', 'RO', 'SA', 'SE', 'SG', 'SK', 'SV', 'TH', 'TN', 'TR', 'TW', 'US', 'UY', 'VN', 'ZA'] 1 180674 FALSE USAT21904066 https://open.spotify.com/track/47IXLhp3c6mu7NqvpuhuLi https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi 47IXLhp3c6mu7NqvpuhuLi FALSE Can't Feel My Legs 67 https://p.scdn.co/mp3-preview/64421f93c1a50553650656789726942083f5c567?cid=a98a5116ec7149be9fbec4e5ff8afc18 6 track spotify:track:47IXLhp3c6mu7NqvpuhuLi
0 3/19/20 0.237 https://api.spotify.com/v1/audio-analysis/47IXLhp3c6mu7NqvpuhuLi 0.703 180675 0.655 47IXLhp3c6mu7NqvpuhuLi 0 11 0.199 -6.226 0 0.0782 140.047 4 https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi audio_features spotify:track:47IXLhp3c6mu7NqvpuhuLi 0.414
0 3/19/20 0.0714 https://api.spotify.com/v1/audio-analysis/79EVtighsMYkWahVb9MnF8 0.743 171210 0.753 79EVtighsMYkWahVb9MnF8 3.02E-06 1 0.088 -4.479 1 0.0424 157.047 4 https://api.spotify.com/v1/tracks/79EVtighsMYkWahVb9MnF8 audio_features spotify:track:79EVtighsMYkWahVb9MnF8 0.695
0 3/19/20 0.00981 https://api.spotify.com/v1/audio-analysis/527k23H0A4Q0UJN3vGs0Da 0.629 167916 0.692 527k23H0A4Q0UJN3vGs0Da 0.328 5 0.603 -8.045 1 0.0376 162.948 4 https://api.spotify.com/v1/tracks/527k23H0A4Q0UJN3vGs0Da audio_features spotify:track:527k23H0A4Q0UJN3vGs0Da 0.453
0 3/19/20 0.262 https://api.spotify.com/v1/audio-analysis/6SPgp2qK3fb4wPX1SldrNf 0.748 157133 0.789 6SPgp2qK3fb4wPX1SldrNf 0 2 0.13 -4.579 1 0.103 147.957 4 https://api.spotify.com/v1/tracks/6SPgp2qK3fb4wPX1SldrNf audio_features spotify:track:6SPgp2qK3fb4wPX1SldrNf 0.671
0 3/19/20 0.237 https://api.spotify.com/v1/audio-analysis/47IXLhp3c6mu7NqvpuhuLi 0.703 180675 0.655 47IXLhp3c6mu7NqvpuhuLi 0 11 0.199 -6.226 0 0.0782 140.047 4 https://api.spotify.com/v1/tracks/47IXLhp3c6mu7NqvpuhuLi audio_features spotify:track:47IXLhp3c6mu7NqvpuhuLi 0.414
添加的数据从 new 行开始,在数据集的末尾而不是附加到每一行...
如果有人能指出我哪里出错了,我很难过 D:
只是一个警告,我写这篇文章的前提是 pddf['track.uri'] 和 audio_features['uri'] 是两个数据帧之间的公共列。如果我误解了您的数据结构,您可能需要调整我在示例中使用的具体名称。
好的,所以您可能遇到的第一个问题与 pd.concat() 关系不大,而与您处理此问题的方式有关。如果可以,请尝试一次生成音频特征的 DataFrame,而不是在每个循环中生成一个 DataFrame。首先,获取您需要使用的所有轨道 uri 的列表。然后你可以使用循环来制作一个列表列表(或者,更好的是,一个元组列表)。 然后,你可以把它变成一个DataFrame。
为了真正将它变成一个 DataFrame,通常最好使用合并将它们连接到一个公共键上,比如轨道 uri。在这种情况下:
pddf = pddf.merge(audio_features,left_on='track.uri',right_on='uri')