我是一个python初学者,正在使用大型在线订单数据的csv文件。
我试图看看skus人最常用特定的sku购买的东西,我们称之为grey-shirt711。
我很难表达如何说“显示包含 grey-shirt771和至少一个其他sku的所有订单”。我只是检索所有带有灰色衬衫711的订单,其中90%的时间只是那个sku。
假设我只处理这两个列('sku'和'orderID'),我能说出这句话最简单的方法是什么?
谢谢!
答案 0 :(得分:0)
我们希望提供帮助,但您需要更具体一点。你能提供一个你尝试过的例子吗?你能告诉我们你如何阅读数据吗?像鲍里斯建议的那样,你可能想用熊猫来做这件事。这是一个片段,可以过滤您选择的列上的数据框:
import pandas as pd
import numpy as np
d = {'col1': [1, 2], 'col2': [3, 4]} # Should be your data import line...
df = pd.DataFrame(np.random.randint(low=0, high=10, size=(100, 2)),
columns=['sku','orderID'])
#%% Alternatively, load your data using Pandas by uncommenting the lines below
# df = pd.read_excel('path_to_your_file') #If using excel
# Method 1
filter1 = 6 #replace 6 with grey-shirt771
filter2 = 3 # replace this with another sku of interest
df_items_of_interest1 = df[(df['sku'] == filter1) | (df['sku'] == filter2)]
# Method 2
filter1 = 'sku == 6'
filter2 = 'sku == 3'
df_items_of_interest2 = df.query(filter1 + '|' + filter2)
# Method 3
df_items_of_interest3 = df[df['sku'].isin([6,3])]
为清晰起见,请参阅此SO Post和Pandas documentation。
我希望有所帮助。代表Stack Overflow社区,我说 welcome 。为了最大限度地提高您使用此网站所带来的价值(并帮助我们帮助您)尝试一些these tips