在 R 中,如果我希望x其中的所有元素都在 中y,我会这样做
x[x %in% y]
Run Code Online (Sandbox Code Playgroud)
在 python 中,我可以使用列表理解:
[i for i in y if i in x]
Run Code Online (Sandbox Code Playgroud)
有没有更干净/更可读的方式?我正在掌握 python 的窍门,但我正在编写的代码的可读性并不像我习惯的那样。我尝试的第一件事没有成功:
x[x in y]
Run Code Online (Sandbox Code Playgroud)
我猜是因为inpython 中只接受标量。
考虑下面的数组和测试结果.
为什么tolist()当数组元素是字符串时运行速度更快而数组元素浮动时更快?
bunch_of_strings = pd.DataFrame(
np.random.choice(list(ascii_letters), (10000, 4))).sum(1).values
bunch_of_floats = np.random.rand(10000)
Run Code Online (Sandbox Code Playgroud)
我有一个简单的pandas数据框.
import pandas as pd
x = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
y = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
users =['mark', 'mark', 'mark', 'rachel', 'rachel', 'rachel', 'jeff', 'jeff', 'jeff', 'lauren', 'lauren', 'lauren']
df = pd.DataFrame(dict(x=x, y=y, users=users)
Run Code Online (Sandbox Code Playgroud)
我想保留数据帧的某些行.让我们说所有"rachels"和"jeffs".我试过了df.query:
df=df.query('users=="rachel"' or 'users=="jeff"')
Run Code Online (Sandbox Code Playgroud)
结果是只有一个数据框users=="rachel".有没有办法结合查询?
我想从我的CSV文件中选择数据.
虽然我可以在哪个列中获取数据
"House" == 1 (any single number)
Run Code Online (Sandbox Code Playgroud)
如下,我不知道如何获取数据
"House" in [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 17, 18, 20, 21, 23, 26, 28, 30, 34, 46, 57, 58, 61, 86, 89, 102, 121, 156].
Run Code Online (Sandbox Code Playgroud)
df = pd.read_csv('../../data/training_dataset_500.csv')
df[df['House']==1]
Run Code Online (Sandbox Code Playgroud)
我有一个数据框df = pd.DataFrame({'A':[1,2,3,4],'B':['G','H','I','K']}),我想选择A列的值在[2,3]中的行
为此,我编写了一个简单的for循环: df.loc[[ e in [2,3] for e in df.A],]
是否有任何内置函数可以执行此操作,而不是使用for循环?