![](/img/trans.png)
[英]Extract columns with first few characters of the column name from multiple csv
[英]Fetching the first few characters of a column from a csv file using pandas
我有一個 csv 文件,其中包含一些數據,這里我將放置一些數據。
所以,output 應該是,
02
04
到目前為止,我已經嘗試過這些解決方案,
代碼:
var1 = data.loc[{data["Quantity"] == 10) & (data["Max value"].str[:2] == 40)]
var2 = (var1["ID"].str[:2])
print(var2)
output:
Empty DataFrame
Columns: [ID, Quantity, Max value]
Index: []
代碼:
var1 = data.loc[(data.Quantity == 10) & (data.Max value.str[:2] > 40)].ID.str[:2]
var2 = (var1.ID.str[:2])
print(var2)
output:
same output
代碼:
data.rename(columns = {'Max value':'MaxValue'}, inplace = True)
var1 = data.loc[(data["Quantity"] == 10) & (data["Max value"].str[:2] > 40)]
var2 = (var1["ID"].str[:2])
print(var2)
output:
Series([], Name: ID, dtype: object)
這是做的工作:
df = pd.read_csv(***csv file path***)
df["Max value num"] = [int(max_val[:2]) for max_val in df["Max value"]]
desired_data = df[(df["Quantity"] == 10) & (df["Max value num"] >= 40)]
desired_data = [id[:2] for id in desired_data["ID"]]
這將前 2 個字符存儲在列表中。
如果你想像02 04
一樣打印出來,那么使用這個,
df = pd.read_csv(***csv file path***)
df["Max value num"] = [int(max_val[:2]) for max_val in df["Max value"]]
desired_data = df[(df["Quantity"] == 10) & (df["Max value num"] >= 40)]
output = ""
for id in desired_data["ID"]:
output += f"{id[:2]} "
output.strip(" ")
對於上面的兩個代碼,我都添加了一個Max value num
列,用於存儲Max value
value 中值的數字部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.