我有以下数据框
import pandas as pd
import numpy as np
d = {
'ID':[1,2,3,4,5,6],
'Price1':[5,9,4,3,9,np.nan],
'Price2':[9,10,13,14,18,np.nan],
'Price3':[5,9,4,3,9,np.nan],
'Price4':[9,10,13,14,18,np.nan],
'Price5':[5,9,4,3,9,np.nan],
'Price6':[np.nan,10,13,14,18,np.nan],
'Price7':[np.nan,9,4,3,9,np.nan],
'Price8':[np.nan,10,13,14,18,np.nan],
'Price9':[5,9,4,3,9,np.nan],
'Price10':[9,10,13,14,18,np.nan],
'Type':['A','A','B','C','D','D'],
}
df = pd.DataFrame(data = d)
df
Run Code Online (Sandbox Code Playgroud)
如何在价格 1 到价格 10 之间找到最大值并将其添加为新列?
以下数据帧是预期的输出。
import pandas as pd
import numpy as np
d = {
'ID':[1,2,3,4,5,6],
'Price1':[5,9,4,3,9,np.nan],
'Price2':[9,10,13,14,18,np.nan],
'Price3':[5,9,4,3,9,np.nan],
'Price4':[9,10,13,14,18,np.nan],
'Price5':[5,9,4,3,9,np.nan],
'Price6':[np.nan,10,13,14,18,np.nan],
'Price7':[np.nan,9,4,3,9,np.nan],
'Price8':[np.nan,10,13,14,18,np.nan],
'Price9':[5,9,4,3,9,np.nan],
'Price10':[9,10,13,14,18,np.nan],
'Type':['A','A','B','C','D','D'],
'first_max':[9,10,13,14,18,np.nan],
'two_max':[9,10,13,14,18,np.nan],
'three_max':[9,10,13,14,18,np.nan],
'four_max':[5,10,13,14,18,np.nan],
'five_max':[5,10,13,14,18,np.nan],
'six_max':[5,5,4,3,9,np.nan],
'seven_max':[5,5,4,3,9,np.nan],
'eight_max':[np.nan,5,4,3,9,np.nan],
'nine_max':[np.nan,5,4,3,9,np.nan],
'ten_max':[np.nan,5,4,3,9,np.nan],
}
df = pd.DataFrame(data = d)
pd.set_option('max_columns',25)
df
Run Code Online (Sandbox Code Playgroud)
如何在价格 1 …
我有以下数据框
import pandas as pd
data=['5Star','FiveStar','five star','fiv estar']
data = pd.DataFrame(data,columns=["columnName"])
Run Code Online (Sandbox Code Playgroud)
当我尝试使用一种条件进行过滤时,它工作正常。
data[data['columnName'].str.contains("5")]
Run Code Online (Sandbox Code Playgroud)
输出:
columnName
0 5Star
Run Code Online (Sandbox Code Playgroud)
但是在处理多个条件时会出错。
如何过滤条件5和5?
预期输出:
columnName
0 5Star
2 five star
Run Code Online (Sandbox Code Playgroud)