假设我在列表中有这两个数据框,
sm = pd.DataFrame([["Forever", 'BenHarper'],["Steel My Kisses", 'Kack Johnson'],\
["Diamond On the Inside",'Xavier Rudd'],[ "Count On Me", "Bruno Mars"]],\
columns=["Song", "Artist"])
pm = pd.DataFrame([["I am yours", 'Jack Johnson'],["Chasing Cars", 'Snow Patrol'],\
["Kingdom Comes",'Cold Play'],[ "Time of your life", "GreenDay"]],\
columns=["Song", "Artist"])
df_list = [sm,pm]
Run Code Online (Sandbox Code Playgroud)
现在,当我要在迭代时同时打印两个数据帧时,会得到类似的内容,
for i in df_list:
print(i)
Run Code Online (Sandbox Code Playgroud)
结果,
Song Artist
0 Forever BenHarper
1 Steel My Kisses Kack Johnson
2 Diamond On the Inside Xavier Rudd
3 Count On Me Bruno Mars
Song Artist
0 I am …Run Code Online (Sandbox Code Playgroud) 我使用 Xgboost 1.4.2 版本构建了 XGBClassifier 模型,并以 pickle 格式保存在 S3 中。
from xgboost import XGBClassifier
xgb_model = XGBClassifier()
xgb_model.fit(x_Traintfidf, y_Train)
xgb_predictions = xgb_model.predict(x_Testtfidf)
xgb_predictions = [round(value) for value in xgb_predictions]
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_Test.to_list(), xgb_predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
# Save model to s3 as pickle file.
Run Code Online (Sandbox Code Playgroud)
接下来,我读回 s3 中的 pickled 模型,当我尝试进行预测时,它会抛出错误:
AttributeError:“XGBModel”对象没有属性“enable_categorical”
我有一个tf-idf变换后的矩阵,我正在传递以获得预测。
知道为什么当我取消模型并进行预测时会出现上述错误吗?
我有一个像这样的列表,
big_list = [[1,3,5], [1,2,5], [9,3,5]]
sec_list = [1,3,5]
Run Code Online (Sandbox Code Playgroud)
我想迭代big_list并检查每个列表值sec_list.当我检查时,我想将不匹配的值存储到另一个列表列表中.所以,我这样做了:
sma_list = []
for each in big_list:
for i,j in zip(each, sec_list):
if i!=j:
sma_list.append(i)
Run Code Online (Sandbox Code Playgroud)
我得到这样的结果:
[2, 9]
Run Code Online (Sandbox Code Playgroud)
但是,我需要一个像这样的列表,
[[2], [9]]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个df这样的数据框,
Name Net Quantity
0 Auto 1010 10
1 NaN NaN 12
2 Rtal 4145 18
3 NaN NaN 14
4 Indl 6223 16
5 NaN 7222 18
Run Code Online (Sandbox Code Playgroud)
我的输出数据框应该是这样的,
Name Net Quantity
0 Auto 1010 10,12
1 Rtal 4145 18,14
2 Indl 6223,7222 16,18
Run Code Online (Sandbox Code Playgroud)
正如您从上面的数据框中看到的,如果奇数(索引)中存在任何值,我想将值与偶数(索引)行组合,以便我可以获得输出。
我尝试了以下方法来提取奇数值,
df.iloc[1::2, :]
Run Code Online (Sandbox Code Playgroud)
这给了我以下内容,
Name Net Quantity
1 NaN NaN 12
3 NaN NaN 14
5 NaN 7222.0 18
Run Code Online (Sandbox Code Playgroud)
之后,我现在不知道如何将这些值添加到我的df. 除此之外,我不确定我的方法是否正确。如果有人可以提供建议/帮助,我将不胜感激。
我有一个这样的数据框,
ID Cus_ID cl_id
0 5.0 200 0
1 NaN 200 0
2 NaN 200 1
3 14.0 200 2
4 15.0 200 2
5 16.0 200 2
6 NaN 200 3
Run Code Online (Sandbox Code Playgroud)
从上面的数据框中,我想提取第0至4行,并检查“ ID”列中是否有任何NaN值。我试过了
rows_needed = [0,1,2,3,4]
df.iloc[rows_needed,0].isnull().index.tolist()
Run Code Online (Sandbox Code Playgroud)
但是我得到以下内容
[0, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我期望得到的索引[1,2]。如何获得所需的输出?
当我这样做时
df.iloc[rows_needed,0].isnull()
Run Code Online (Sandbox Code Playgroud)
我明白了
0 False
1 True
2 True
3 False
4 False
Name: ID, dtype: bool
Run Code Online (Sandbox Code Playgroud)
不知道我在哪里犯了错误,没有得到我的输出。
我有一个这样的数据框,
Name Product Quantity
0 NaN 1010 10
1 NaN 2010 12
2 NaN 4145 18
3 NaN 5225 14
4 Total 6223 16
5 RRA 7222 18
6 MLQ 5648 45
Run Code Online (Sandbox Code Playgroud)
现在,我需要提取包含行的行/新数据框,直到Total该行位于列中Name。
所需输出:
Name Product Quantity
0 NaN 1010 10
1 NaN 2010 12
2 NaN 4145 18
3 NaN 5225 14
Run Code Online (Sandbox Code Playgroud)
我试过这个,
df[df.Name.str.contains("Total", na=False)]
Run Code Online (Sandbox Code Playgroud)
目前这没有帮助。任何建议都会很棒。
我有这样的数据帧,
创建一个数据框 data
d = {'Machine ID': [100, 100, 101, 101], 'Machine': ["ABC", "ABC", "CDQ", "CDQ"],
"June": [10,0,12,15], "July": [12,15,0,32], "August": [0,15,20,11]}
data = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)
数据框:
Machine ID Machine June July August
0 100 ABC 10 12 0
1 100 ABC 0 15 15
2 101 CDQ 12 0 20
3 101 CDQ 15 32 11
Run Code Online (Sandbox Code Playgroud)
现在,我想groupby按月汇总,所以,我做了这个,
machine_group = data.groupby(['Machine ID','Machine'])['June'].sum().reset_index(name = 'June Sum')
Run Code Online (Sandbox Code Playgroud)
我得到以下,
Machine ID Machine June Sum
0 100 ABC 10
1 101 CDQ 27 …Run Code Online (Sandbox Code Playgroud)