當你說df["a"][4] = True
,要修改的a
系列對象,你是不是真的修改df
數據幀,因爲df
的指數不具備的4條目我寫了一個代碼段表現出這種行爲:
在[90]:
import pandas as pd
import numpy as np
l = ['a', 'b']
d = np.array([[False]*len(l)]*3)
df = pd.DataFrame(columns=l, data=d, index=range(1,4))
df['a'][4] = True
print "DataFrame:"
print df
DataFrame:
a b
1 False False
2 False False
3 False False
在[91]:
df['b'][4]=False
print "DataFrame:"
print df
DataFrame:
a b
1 False False
2 False False
3 False False
在[92]:
print "DF's Index"
print df.index
DF's Index
Int64Index([1, 2, 3], dtype='int64')
在[93]:
print "Series object a:"
print df['a']
Series object a:
1 False
2 False
3 False
4 True
Name: a, dtype: bool
在[94]:
print "Series object b:"
print df['b']
Series object b:
1 False
2 False
3 False
4 False
Name: b, dtype: bool
感謝您的答覆。簡而言之,它是一個字典。嗯。有沒有辦法通過密鑰檢查進行分配?這不是'if key in df.index'。寧願提出異常的東西。 –