Pandas:使用一系列字符串从 Dataframe 中选择行
Pandas: Selecting rows from a Dataframe using a Series of strings
我有一个系列中的姓氏列表,s:
print(s)
Order
1 Surname01
2 Surname02
3 Surname03
4 Surname04
5 Surname05
...
496 Surname06
497 Surname07
498 Surname08
499 Surname09
500 Surname10
我在 Dataframe 中列出了姓名、地址、phone 数字等,df:
Unnamed: 0 Unnamed: 0.1 ... Phone Unnamed: 7
Last Name ...
Surname01 0 NaN ... NaN NaN
Surname02 1 NaN ... NaN NaN
Surname11 2 NaN ... NaN NaN
Surname12 3 NaN ... (123) 456-7890 (123) 456-7890
Surname05 4 NaN ... (123) 456-7890 (123) 456-7890
... ... ... ... ... ...
Surname13 94 NaN ... (123) 456-7890 (123) 456-7890
Surname14 95 NaN ... (123) 456-7890 (123) 456-7890
Surname15 96 NaN ... NaN NaN
Surname16 97 NaN ... NaN NaN
Surname17 98 NaN ... NaN NaN
我想从 df 创建一个新的 table,其中只有 s 中的姓氏。
我已经阅读了很多页面,但无法弄清楚。这是我所在的位置:
df = df.loc[s]
但是我得到 KeyError: 'Last Name'
尝试df.loc[df.index.isin(s), :]
例子
s = pd.Series(['a', 'b', 'c', 'd'])
df = pd.DataFrame(index=['a', 'f', 'd'],
data={'col1': [10, 11, 12], 'col2': [1, 2, 3]})
df.loc[df.index.isin(s), :]
col1 col2
a 10 1
d 12 3
我有一个系列中的姓氏列表,s:
print(s)
Order
1 Surname01
2 Surname02
3 Surname03
4 Surname04
5 Surname05
...
496 Surname06
497 Surname07
498 Surname08
499 Surname09
500 Surname10
我在 Dataframe 中列出了姓名、地址、phone 数字等,df:
Unnamed: 0 Unnamed: 0.1 ... Phone Unnamed: 7
Last Name ...
Surname01 0 NaN ... NaN NaN
Surname02 1 NaN ... NaN NaN
Surname11 2 NaN ... NaN NaN
Surname12 3 NaN ... (123) 456-7890 (123) 456-7890
Surname05 4 NaN ... (123) 456-7890 (123) 456-7890
... ... ... ... ... ...
Surname13 94 NaN ... (123) 456-7890 (123) 456-7890
Surname14 95 NaN ... (123) 456-7890 (123) 456-7890
Surname15 96 NaN ... NaN NaN
Surname16 97 NaN ... NaN NaN
Surname17 98 NaN ... NaN NaN
我想从 df 创建一个新的 table,其中只有 s 中的姓氏。 我已经阅读了很多页面,但无法弄清楚。这是我所在的位置:
df = df.loc[s]
但是我得到 KeyError: 'Last Name'
尝试df.loc[df.index.isin(s), :]
例子
s = pd.Series(['a', 'b', 'c', 'd'])
df = pd.DataFrame(index=['a', 'f', 'd'],
data={'col1': [10, 11, 12], 'col2': [1, 2, 3]})
df.loc[df.index.isin(s), :]
col1 col2
a 10 1
d 12 3