我有這個資料框
Python 3.9.0 (v3.9.0:9cf6752276, Oct 5 2020, 11:29:23)
[Clang 6.0 (clang-600.0.57)] on darwin
>>> import pandas as pd
>>> import datetime as datetime
>>> pd.__version__
'1.3.5'
>>> dates = [datetime.datetime(2012, 2, 3) , datetime.datetime(2012, 2, 4)]
>>> x = pd.DataFrame({'Time': dates, 'Selected': [0, 0], 'Nr': [123.4, 25.2]})
>>> x.set_index('Time', inplace=True)
>>> x
Selected Nr
Time
2012-02-03 0 123.4
2012-02-04 0 25.2
在示例中,整數列中的整數值被轉換為浮點數,但我沒有看到這種轉換的原因。在這兩種情況下,我都假設我'Selected'從第一行的列中選擇值。到底是怎么回事?
>>> x['Selected'].iloc[0]
0
>>> x.iloc[0]['Selected']
0.0
>>> x['Selected'].dtype
dtype('int64')
uj5u.com熱心網友回復:
x.iloc[0]選擇單個“行”。實際上創建了一個新的系列物件。當它決定該行的 dtype 時, a pd.Series,它使用浮點型別,因為這不會丟失"Nr"列中的資訊。
另一方面,x['Selected'].iloc[0]首先選擇一個 column,它將始終保留 dtype。
pandas基本上是“面向列”。您可以將資料框視為列的字典(它不是,雖然我相信它過去基本上在幕后擁有它,但現在它使用更復雜的“塊管理器”方法,但這些是內部實作細節)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/383037.html
上一篇:從不同csv檔案中的特定列獲取值,concat。并根據python中的檔案名創建列
下一篇:如何聚合熊貓系列的預定義間隔?
