[英]pandas Basic DataFrame concatenation not working in Python3
我正在為 Python3 做一個簡單的 DataFrame 連接教程。 您可以在此處找到本教程: https ://www.geeksforgeeks.org/dealing-with-rows-and-columns-in-pandas-dataframe/
import pandas as pd
# importing numpy as np
import numpy as np
# making data frame
df = pd.read_csv('nba.csv', index_col ='Name')
df.head(10)
new_row = pd.DataFrame({'Name':'Geeks', 'Team':'Boston', 'Number':3,
'Position':'PG', 'Age':33, 'Height':'6-2',
'Weight':189, 'College':'MIT', 'Salary':99999},
index =[0])
# simply concatenate both dataframes
df_new = pd.concat([new_row, df]).reset_index(drop = True)
df_new.head(5)
print(df_new)
在嘗試打印 df_new 我得到這個輸出
0 Geeks Boston 3.0 PG 33.0 6-2 189.0 MIT 99999.0
1 NaN Boston Celtics 0.0 PG 25.0 6-2 180.0 Texas 7730337.0
2 NaN Boston Celtics 99.0 SF 25.0 6-6 235.0 Marquette 6796117.0
3 NaN Boston Celtics 30.0 SG 27.0 6-5 205.0 Boston University NaN
4 NaN Boston Celtics 28.0 SG 22.0 6-5 185.0 Georgia State 1148640.0
.. ... ... ... ... ... ... ... ... ...
454 NaN Utah Jazz 8.0 PG 26.0 6-3 203.0 Butler 2433333.0
455 NaN Utah Jazz 25.0 PG 24.0 6-1 179.0 NaN 900000.0
456 NaN Utah Jazz 21.0 C 26.0 7-3 256.0 NaN 2900000.0
457 NaN Utah Jazz 24.0 C 26.0 7-0 231.0 Kansas 947276.0
458 NaN NaN NaN NaN NaN NaN NaN NaN NaN
[459 rows x 9 columns]
這不是預期的輸出。 我想知道我在重新下載 csv 時是否做錯了什么,以防 csv 以某種方式損壞,但似乎並非如此。 我是 python 新手,所以我試圖弄清楚為什么 DataFrame.head() 在不將輸出數據幀減少到 5 個元素方面不起作用,以及為什么將實際值設置為 null。
如果有人有任何想法,請告訴我。
這是教程中的錯誤。 只需閱讀沒有“index_col='Name'”的 CSV,然后運行相同的代碼,它就可以工作
也將其寫為答案。
您將"Name"
作為原始數據框中的索引。 這樣,您在 df 中將其“消失”,因此當您嘗試連接 Name 列時,它會被 NaN 填充。 只需從原始 df 中刪除index_col ='Name'
即可。
df = pd.read_csv('nba.csv')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.