在C#中,我发送的是sys.argv 1:
string depVar = "Cover_Type";
在Python中,我试图使用Pandas数据框完成以下任务。下面的示例代码失败...有没有办法做到这一点?
import csv
import pandas as pd
import sys
dependent_var = sys.argv[1]
df = pd.read_csv('train.csv')
y = df[dependent_var]
编辑 在尝试使细节保持简单的过程中,听起来好像我遗漏了必要的信息(新手错误),所以谢谢您的耐心等待。
目标: 我遗漏的最重要的信息(再次抱歉)是我正在从另一个程序传入变量,所以我的目标肯定是使用变量值,而不仅仅是打印出值。
我相信提供的答案之一非常接近,并且实际上回答了我的原始问题。但是它不能解决我的问题,因为传入的变量是一个字符串,我现在正在考虑将其转换为列表,因此需要方括号。
错误:KeyError:“ ['Flower_Type']”
打印列:
Index(['Id', 'Elevation', 'Aspect', 'Slope',
'Horizontal_Distance_To_Hydrology',
'Flower_Type'],
dtype='object')
最终答案:
import csv
import pandas as pd
import sys
depVar= sys.argv[1] # had to assign the incoming variable to a new variable
a = []
a.append(depVar)
df = pd.read_csv('train.csv')
y = df[a]
答案 0 :(得分:0)
我相信您需要以下内容:
您需要在url = input("Please enter the url of the file you want to download.")
path = input("Please enter the file path ex. C:\Jim\Desktop")
file_name = input("Please enter file name")
if pdfkit.from_url(str(url), str(path + file_name)): # Check if method from_url returned True
print("Sucessfully created pdf from url")
else:
print("Something went wrong")
中引用列名。
[]
然后
dependent_var = ['Flower_Type']
如果您的csv标头中包含空格,或者您可以调整单元格中任何相对的空格,您可以尝试像y = df[dependent_var]
一样工作。
[['Flower_Type']]
OR:
df.columns = df.columns.to_series().apply(lambda x: x.strip())
或使用此处提到的Byte order mark
df = pd.read_csv('train.csv', encoding="utf-8")
在这种情况下,使用列表理解来去除所有多余的空格可能是有意义的。
df = pd.read_csv('train.csv', encoding="utf-8-sig")
答案 1 :(得分:0)
随便走吧
function buildArray(min, max) {
return Array.from({ length: max - min + 1 }, (_, i) => min + i);
}
console.log(buildArray(5, 10));
为什么必须将其存储在变量中?