第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的 Pandas DataFrame 列也是 Dataframes,而不是 Series?

為什么我的 Pandas DataFrame 列也是 Dataframes,而不是 Series?

慕田峪4524236 2021-10-05 17:44:21
當您將 Pandas DataFrame 列拉出時,它們就是 Pandas 系列但是,在我的情況下,情況并非如此:第一部分(構建 DataFrame 讀取 json 抓?。┮驗樗瑯I(yè)務信息,我無法顯示完整代碼,但基本上它讀取一行數(shù)據(jù)(存儲在系列中)并附加到 DataFrame 的末尾。dfToWrite = pandas.DataFrame(columns=[lsHeader]) # Empty with column headersfor row in jsAdtoolJSON['rows']:    lsRow = []    for col in row['row']:        lsRow.append((col['primary'])['value'])    dfRow = pandas.Series(lsRow, index = dfToWrite.columns)dfToWrite = dfToWrite.append(dfRow, ignore_index = True)下一部分(檢查類型):(請忽略函數(shù)的功能)def CalcMA(df: pandas.DataFrame, target: str, period: int, maname: str):    print(type(df[target]))最后調用函數(shù):(“Raw_Impressions”是列標題)CalcMA(dfToWrite, "Raw_Impressions", 5, "ImpMA5")Python 控制臺顯示:類'pandas.core.frame.DataFrame'附加問題:如果不是系列(在這種情況下我可以使用tolist()),如何從 Dataframe 列中獲取列表?更新 1 從這里開始: Bokeh: AttributeError: 'DataFrame' object has no attribute 'tolist'我發(fā)現(xiàn)我需要使用.value.tolist(),但是它仍然沒有解釋為什么我在拉出一列時得到另一個數(shù)據(jù)幀,而不是系列。Update 2 發(fā)現(xiàn)df有MultiIndex,很驚訝:MultiIndex(levels=[['COST_/ CPM', 'CTR', 'ECPM /_ROI', 'Goal_Ratio', 'Hour_of_the_Day', 'IMP./Joins', 'Raw_Clicks_/_Unique_Clicks', 'Raw_Impressions', 'Unique_Goal _UniqueGoal_Forecasted_Value']],標簽=[[4, 7, 5, 6, 1, 8, 3, 0, 2]])我沒有看到labels打印 df / 寫入 .csv 時的內容,它只是一個普通的 DataFrame。不知道我從哪里得到標簽。
查看完整描述

2 回答

?
jeck貓

TA貢獻1909條經(jīng)驗 獲得超7個贊

我認為你有重復的列名,所以如果想要 select Seriesget DataFrame:


df = pd.DataFrame([[1,2],[4,5], [7,8]], index=list('aab')).T

print (df)

   a  a  b

0  1  4  7

1  2  5  8


print (df['a'])

   a  a

0  1  4

1  2  5


print (type(df['a']))

<class 'pandas.core.frame.DataFrame'>


print (df['b'])

0    7

1    8

Name: b, dtype: int64


print (type(df['b']))

<class 'pandas.core.series.Series'>

編輯:


這是另一個問題,一個級別MultiIndex,解決方案是將第一級重新分配回列get_level_values:


mux = pd.MultiIndex([['COST_/CPM', 'CTR', 'ECPM/_ROI', 'Goal_Ratio', 'Hour_of_the_Day', 

                      'IMP./Joins',  'Raw_Clicks_/_Unique_Clicks', 'Raw_Impressions',

                      'Unique_Goal_/_UniqueGoal_Forecasted_Value']], 

labels=[[4, 7, 5, 6, 1, 8, 3, 0, 2]])


df = pd.DataFrame([range(9)], columns=mux)

print (type(df['CTR']))

<class 'pandas.core.frame.DataFrame'>


df.columns = df.columns.get_level_values(0)

print (type(df['CTR']))

<class 'pandas.core.series.Series'>


查看完整回答
反對 回復 2021-10-05
  • 2 回答
  • 0 關注
  • 313 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號