Column naming - ftaylor101/spotify GitHub Wiki
Decide on consistent column names for Apple and Spotify data.
Apple columns: Index(['Album Name', 'Container Album Name', 'Device OS Name', 'Device OS Version', 'Device Type', 'End Position In Milliseconds', 'End Reason Type', 'Event End Timestamp', 'Event Received Timestamp', 'Event Start Timestamp', 'Event Timestamp', 'Event Type', 'Feature Name', 'IP City', 'IP Country Code', 'IP Latitude', 'IP Longitude', 'IP Network Type', 'Media Duration In Milliseconds', 'Media Type', 'Milliseconds Since Play', 'Play Duration Milliseconds', 'Song Name', 'Start Position In Milliseconds', 'UTC Offset In Seconds', 'Identifier', 'Title_x', 'Content Type', 'Track Identifier', 'Title_y', 'Sort Name', 'Artist', 'Sort Artist', 'Composer', 'Is Part of Compilation', 'Album', 'Sort Album', 'Album Artist', 'Genre', 'Track Year', 'Track Number On Album', 'Track Count On Album', 'Disc Number Of Album', 'Disc Count Of Album', 'Track Duration', 'Track Play Count', 'Date Added To Library', 'Date Added To iCloud Music Library', 'Last Modified Date', 'Skip Count', 'Is Purchased', 'Audio File Extension', 'Is Checked', 'Copyright', 'Playlist Only Track', 'Release Date', 'Purchased Track Identifier', 'Apple Music Track Identifier', 'Last Played Date', 'Work Name', 'Movement Name', 'Display Work Name', 'Purchase Date', 'Audio Matched Track Identifier', 'Tag Matched Track Identifier', 'Comments', 'Rating', 'Album Rating', 'Remember Playback Position', 'Beats Per Minute', 'Date of Last Skip', 'Track Like Rating', 'Favorite Status - Track', 'Favorite Date - Track'], dtype='object')
Spotify: Index(['ts', 'platform', 'ms_played', 'conn_country', 'ip_addr', 'master_metadata_track_name', 'master_metadata_album_artist_name', 'master_metadata_album_album_name', 'spotify_track_uri', 'episode_name', 'episode_show_name', 'spotify_episode_uri', 'reason_start', 'reason_end', 'shuffle', 'skipped', 'offline', 'offline_timestamp', 'incognito_mode'], dtype='object')
Apple end reasons: EXITED_APPLICATION; FAILED_TO_LOAD; MANUALLY_SELECTED_PLAYBACK_OF_A_DIFF_ITEM; NATURAL_END_OF_TRACK; NOT_APPLICABLE; OTHER; PLAYBACK_MANUALLY_PAUSED; PLAYBACK_SUSPENDED; SCRUB_BEGIN; SCRUB_END; TRACK_SKIPPED_BACKWARDS; TRACK_SKIPPED_FORWARDS
Spotify end reasons: Backbtn, Endplay, Fwdbtn, Logout, Remote, Switched-to-video, Trackdone, Trackerror, Unexpected-exit, Unexpected-exit-while-paused, Unknown
End reasons:
- EXITED_APPLICATION = logout -> logout
- FAILED_TO_LOAD = Trackerror -> track_error
- MANUALLY_SELECTED_PLAYBACK_OF_A_DIFF_ITEM = nothing spotify -> selected_diff_item
- nothing in apple = Switched-to-video -> switched_to_video
- NATURAL_END_OF_TRACK = Trackdone -> track_done
- NOT_APPLICABLE, OTHER = Unknown -> unknown
- PLAYBACK_MANUALLY_PAUSED = Endplay -> pause
- PLAYBACK_SUSPENDED = Unexpected-exit -> suspended
- SCRUB_BEGIN = nothing in spotify -> scrub_begin
- SCRUB_END = nothing in spotify -> scrub_end
- TRACK_SKIPPED_BACKWARDS = Backbtn -> back_button
- TRACK_SKIPPED_FORWARDS = Fwdbtn -> forward_button
- Datetime [pandas datetime]
- Day name [str]
- Day number [int]
- Month number [int]
- Year [int]
- Hour [int]
- Artist [str]
- Album name [str]
- Song name [str]
- Song and Artist name [str]
- Genre [List[str]]
- Platform [str]
- Milliseconds played [int]
- End reason [Choice of: ]
- Shuffle [Choice of: On, Off, Unknown]
- Country [str: the whole name]
- Latitude [Float or NaN]
- Longitude [Float or NaN]