【发布时间】:2019-04-03 03:14:29
【问题描述】:
尝试通过选择列的特定值来切片数据帧:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.arange(8) * 2})
mask = df['A'] == 'foo'
df[mask]
这会检索到完美的解决方案
A B C D
foo one 0 0
foo two 2 4
foo two 4 8
foo one 6 12
foo three 7 14
但是当尝试使用标准输入函数赋值时...我得到一个空数据框。
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.arange(8) * 2})
mask = df['A'] == input("enter: ")
输入:'foo'
df[mask]
输出:
Empty DataFrame
Columns: [A, B, C, D]
Index: []
【问题讨论】:
标签: python pandas dataframe slice stdin