рдЗрд╕рдХрд╛ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╣рд╛рд░рдг:
>>> df
RP/Rsum P.value
ID
A_23_P42353 17.8 0
A_23_P369994 15.91 0
A_33_P3262440 436.7 0.0005
A_32_P199429 18.97 0
A_23_P256724 22.24 0
A_33_P3394689 24.24 0
A_33_P3403117 27.14 0
A_24_P252364 28.56 0
A_23_P99515 31.82 0
A_24_P261750 31.46 0
>>> df.dtypes
RP/Rsum float64
P.value float64
>>> ids = pandas.Series(['51513', '9201', np.nan, np.nan, '8794', '6530', '7025', '4897', '84935', '11081'])
>>> df["test"] = ids
>>> df
RP/Rsum P.value test
ID
A_23_P42353 17.8 0 NaN
A_23_P369994 15.91 0 NaN
A_33_P3262440 436.7 0.0005 NaN
A_32_P199429 18.97 0 NaN
A_23_P256724 22.24 0 NaN
A_33_P3394689 24.24 0 NaN
A_33_P3403117 27.14 0 NaN
A_24_P252364 28.56 0 NaN
A_23_P99515 31.82 0 NaN
A_24_P261750 31.46 0 NaN
>>> df.dtypes
RP/Rsum float64
P.value float64
test object
рдпрд╣ рдлреНрд▓реЛрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рд╛рде рднреА рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЯреНрд░рд┐рдЧрд░ рдХреНрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЖрдЬ рд╕реБрдмрд╣ рднреА рдкрд╛рдпрд╛:
>>> df = pandas.DataFrame(index=[1,2,3,4])
>>> df["test"] = pandas.Series(["B", "fdf", "344", np.nan])
>>> df["test2"] = ["B", "fdf", "344", np.nan]
>>> df test test2
1 fdf B
2 344 fdf
3 NaN 344
4 NaN nan
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдСрдл-рдмрд╛рдп-рд╡рди рддреНрд░реБрдЯрд┐ рд╣реИред
рдЕрдкрд░рд╛рдзреА рд╣реЛрдиреЗ рдкрд░ рдЖрдЗрдЯрдо рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдЖрдЧреЗ рдХреА рдЦреБрджрд╛рдИ Series.reindex
рдХреЙрд▓ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ:
>>> data
0 B
1 fdf
2 344
3 NaN
>>> df.index = ["A", "B", "C", "D"]
>>> data.reindex(df.index).values
array([nan, nan, nan, nan], dtype=object)
рдФрд░ рднреА рдЕрдзрд┐рдХ рдЦреБрджрд╛рдИ рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ reindex
рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдЕрдЬреАрдм рдкрд░рд┐рдгрд╛рдо рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
>>> data.index.reindex(df.index)
(Index([A, B, C, D], dtype=object), array([-1, -1, -1, -1], dtype=int32))
рдЗрди -1 рдХрд╛ рддрдм NaN рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдзрд┐рдХ рд╕рд╣реА рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдмрдЧ рд╢реАрд░реНрд╖рдХред
рдЬрдм рдЖрдк рдПрдХ рдХреА рдЖрдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд 0, ..., рдПрди -1 рдЗрдВрдбреЗрдХреНрд╕ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ- рддреЛ рдпрд╣ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕рдХреА рдореИрдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ data
рдПрдХ рдХрдЪреНрдЪрд╛ ndarray рдпрд╛ рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА, рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред рддреЛ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдХрд░рддреЗ рд╣реИрдВ:
df[col] = series
рдФрд░ рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ df
рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдиреБрд░реВрдк рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдФрд░ рдмрдЧ рдирд╣реАрдВ рд╣реИ :) рддреЛ
df['test'] = ids.values
рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рдХрд╣реАрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдмреАрдЪ, рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдЕрдкрдирд╛ рдХреЛрдб рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рджреВрдВрдЧрд╛, рдзрдиреНрдпрд╡рд╛рджред
http://pandas.sourceforge.net/dsintro.html#column -selection-addition-deletion
When inserting a Series that does not have the same index as the DataFrame, it will be conformed to the DataFrameтАЩs index:
In [180]: df['one_trunc'] = df['one'][:2]
In [181]: df
Out[181]:
one flag foo one_trunc
a 1 False bar 1
b 2 False bar 2
c 3 True bar NaN
d NaN False bar NaN
You can insert raw ndarrays but their length must match the length of the DataFrameтАЩs index.
рдЗрд╕ рддрдереНрдп рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХреЗ рд╕рдорд╛рди рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛?
рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдмрдирд╛рддреЗ рд╕рдордп, рдкрд░рд┐рдгрд╛рдореА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИред рддреЛ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм df['new_column'] = series?
рддреЛ рдЖрдк рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрди рд╕рднреА рдорд╛рдиреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ?
рдпрджрд┐ _index рдПрдХреНрд╕рдЯреЗрдВрд╢рди_ рдореМрдЬреВрдж рд╣реЛрдЧрд╛, рддреЛ рдХреЛрдИ рд╣рдореЗрд╢рд╛ df['new_column'] = series.reindex(df.index) рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ (рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░) рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?
In [256]: df = pandas.DataFrame({'A': pandas.Series(['foo', 'bar'], index=['a', 'b']),
.....: 'B': pandas.Series([10, 20], index=['b', 'c'])})
In [257]: df
Out[257]:
A B
a foo NaN
b bar 10.000
c NaN 20.000
In [258]: df['C'] = pandas.Series(range(3), index=['a', 'c', 'd'])
In [259]: df
Out[259]:
A B C
a foo NaN 0.000
b bar 10.000 NaN
c NaN 20.000 1.000
рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ 'рдбреА' рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдБред
рдЦреИрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдлреНрд░реЗрдо "рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓рд╛ рддрд╛рдирд╛рд╢рд╛рд╣ рдЬреИрд╕рд╛ рдХрдВрдЯреЗрдирд░" рд╣реИред рдЬрдм рдЖрдк рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдмрд┐рдирд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдПрдХ рддрд╛рдирд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрди рд╕рднреА рдХреЗ рд╕рдВрдШ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕реВрдЪрдХрд╛рдВрдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЯреНрд░реЗрдбрдСрдлрд╝ рд╣реИрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЬрдм рдЖрдк рдПрдХ рдХреА рдЖрдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд 0, ..., рдПрди -1 рдЗрдВрдбреЗрдХреНрд╕ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ- рддреЛ рдпрд╣ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕рдХреА рдореИрдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐
data
рдПрдХ рдХрдЪреНрдЪрд╛ ndarray рдпрд╛ рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА, рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред рддреЛ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдХрд░рддреЗ рд╣реИрдВ:df[col] = series
рдФрд░ рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ
df
рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдиреБрд░реВрдк рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдФрд░ рдмрдЧ рдирд╣реАрдВ рд╣реИ :) рддреЛdf['test'] = ids.values
рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛