我想在資料框中讀取這個 CSV 檔案
Username,Identifier,First name,Last name,Department,Location
booker12,9012,Rachel,Booker,,,Sales,Manchester
grey07,2070,Laura,Grey,,,Depot,London
johnson81,4081,Craig,Johnson,Depot,London
jenkins46,9346,Mary,Jenkins,Engineering,Manchester
smith79,5079,Jamie,Smith,Engineering,Manchester
由于額外的逗號,第一行和第二行存在資料偏移。
我想讀取缺少標題的資料。
由于額外的逗號,第一行和第二行存在資料偏移。現在當我閱讀它時
df = pd.read_csv('Commission.csv', index_col=False)
它拋出警告 ParserWarning: 標頭或名稱的長度與資料的長度不匹配。這會導致 index_col=False 的資料丟失。
并給出輸出
Username Identifier First name Last name Department Location
0 booker12 9012 Rachel Booker NaN NaN
1 grey07 2070 Laura Grey NaN NaN
2 johnson81 4081 Craig Johnson Depot London
3 jenkins46 9346 Mary Jenkins Engineering Manchester
4 smith79 5079 Jamie Smith Engineering Manchester
那么我怎樣才能得到資料:
Username Identifier First name Last name Department Location Somename Somename
0 booker12 9012 Rachel Booker NaN NaN Sales Manchester
1 grey07 2070 Laura Grey NaN NaN Depot London
2 johnson81 4081 Craig Johnson Depot London NaN NaN
3 jenkins46 9346 Mary Jenkins Engineering Manchester NaN NaN
4 smith79 5079 Jamie Smith Engineering Manchester NaN NaN
uj5u.com熱心網友回復:
你必須使用 pd.merge 和 NaN 與右列
uj5u.com熱心網友回復:
嘗試DataFrame.dropna()
df.dropna()
uj5u.com熱心網友回復:
如果您事先知道需要多少列以及第一行中有多少列,那么您可以設定header=None和使用該names選項。使用以下輸入
Username,Identifier,First name,Last Name,Department,Location
booker12,9012,Rachel,Booker,,,Sales,Manchester
grey07,2070,Laura,Grey,,,Depot,London
johnson81,4081,Craig,Johnson,Depot,London
jenkins46,9346,Mary,Jenkins,Engineering,Manchester
smith79,5079,Jamie,Smith,Engineering,Manchester
這
df = pd.read_csv("Commission.csv", header=None, names=list(range(8)))
df.columns = df.iloc[0, :6].to_list() ["X", "Y"]
df = df.drop(0).reset_index(drop=True)
交付
Username Identifier First name Last Name Department Location X \
0 booker12 9012 Rachel Booker NaN NaN Sales
1 grey07 2070 Laura Grey NaN NaN Depot
2 johnson81 4081 Craig Johnson Depot London NaN
3 jenkins46 9346 Mary Jenkins Engineering Manchester NaN
4 smith79 5079 Jamie Smith Engineering Manchester NaN
Y
0 Manchester
1 London
2 NaN
3 NaN
4 NaN
names=list(range(8))隱式將列長度設定為8,header=None將第一行讀入第一行(而不是將其用作標題)。然后將6第一行的第一項和2其他名稱設定為最終列名,洗掉第一行并重置索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455791.html
