我有一个带有以下列名的pandas数据帧:
Result1,Test1,Result2,Test2,Result3,Test3等......
我想删除名称中包含单词"Test"的所有列.这些列的数量不是静态的,而是取决于先前的函数.
我怎样才能做到这一点?
我有两个具有以下列名称的数据帧:
frame_1:
event_id, date, time, county_ID
frame_2:
countyid, state
Run Code Online (Sandbox Code Playgroud)
我想通过加入(左)来获得包含以下列的数据框county_ID = countyid:
joined_dataframe
event_id, date, time, county, state
Run Code Online (Sandbox Code Playgroud)
如果我想要加入的列不是索引,我无法弄清楚如何做到这一点.什么是最简单的方法?谢谢!
我在Spark上使用python并希望将csv放入数据帧.
Spark SQL 的文档奇怪地没有提供CSV作为源的解释.
我找到了Spark-CSV,但是文档的两个部分存在问题:
"This package can be added to Spark using the --jars command line option. For example, to include it when starting the spark shell: $ bin/spark-shell --packages com.databricks:spark-csv_2.10:1.0.3"
我每次启动pyspark或spark-submit时是否真的需要添加此参数?它似乎非常不优雅.有没有办法在python中导入它而不是每次重新加载它?
df = sqlContext.load(source="com.databricks.spark.csv", header="true", path = "cars.csv")即使我这样做,这也行不通."源"参数在这行代码中代表什么?我如何简单地在linux上加载本地文件,比如"/Spark_Hadoop/spark-1.3.1-bin-cdh4/cars.csv"?
我想让sklearn为线性回归选择最好的k变量(例如k = 1).这有效,我可以得到R平方,但它并没有告诉我哪个变量是最好的.我怎么能找到它?
我有以下形式的代码(实际变量列表更长):
X=[]
for i in range(len(df)):
X.append([averageindegree[i],indeg3_sum[i],indeg5_sum[i],indeg10_sum[i])
training=[]
actual=[]
counter=0
for fold in range(500):
X_train, X_test, y_train, y_test = crossval.train_test_split(X, y, test_size=0.3)
clf = LinearRegression()
#clf = RidgeCV()
#clf = LogisticRegression()
#clf=ElasticNetCV()
b = fs.SelectKBest(fs.f_regression, k=1) #k is number of features.
b.fit(X_train, y_train)
#print b.get_params
X_train = X_train[:, b.get_support()]
X_test = X_test[:, b.get_support()]
clf.fit(X_train,y_train)
sc = clf.score(X_train, y_train)
training.append(sc)
#print "The training R-Squared for fold " + str(1) + " is " + str(round(sc*100,1))+"%"
sc = clf.score(X_test, …Run Code Online (Sandbox Code Playgroud) 我正在运行200次模拟,并将3个输出列表绘制为3行,具有高透明度.这允许我显示模拟之间的差异.
问题是我的图例显示3x200项而不是3项.如何让它一次显示每行的图例?
for simulation in range(200):
plt.plot(num_s_nodes, label="susceptible", color="blue", alpha=0.02)
plt.plot(num_r_nodes, label="recovered", color="green", alpha=0.02)
plt.plot(num_i_nodes, label="infected", color="red", alpha=0.02)
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用python中的Selenium启动Safari,并且所有会话都已登录(例如gmail),因此我不必手动登录。
一种简单的解决方案是使用默认的用户个人资料启动safari,但我找不到有关如何执行此操作的文档。
from selenium import webdriver
driver = webdriver.Safari()
url = 'https://www.gmail.com/'
driver.get(url)
Run Code Online (Sandbox Code Playgroud)
仅供参考,下面的代码是Chrome的代码。Safari的等效项是什么?
options.add_argument("user-data-dir=/Users/alexiseggermont/Library/Application Support/Google/Chrome/Default/") #Path to your chrome profile
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)
Run Code Online (Sandbox Code Playgroud) 我有一个带有月度数据的熊猫数据框,我想计算12个月的移动平均值.但是,(NaN)缺少1月份每个月的数据,所以我正在使用
pd.rolling_mean(data["variable"]), 12, center=True)
Run Code Online (Sandbox Code Playgroud)
但它只是给了我所有的NaN值.
有一种简单的方法可以忽略NaN值吗?据我所知,在实践中,这将成为11个月的移动平均线.
数据框还有其他具有1月数据的变量,所以我不想抛弃1月份的列并做11个月的移动平均线.
我有数百个大型CSV文件,我想合并为一个.但是,并非所有CSV文件都包含所有列.因此,我需要根据列名而不是列位置合并文件.
需要明确的是:在合并的CSV中,对于来自没有该单元格列的行的单元格,值应为空.
我不能使用pandas模块,因为它让我的内存耗尽.
有没有可以做到这一点的模块,或者一些简单的代码?
我正在 Windows 服务器上工作并使用 Oracle ODBC 驱动程序访问 Oracle 数据库。我的 Oracle ODBC 连接在这台机器上运行良好。
但是我想添加一个新连接,在测试它时出现错误
Unable to connect
SQL State=S1000
[Oracle][ODBC][Ora] ORA-12170: TNS: Connect timeout occurred
Run Code Online (Sandbox Code Playgroud)
我认为,虽然我不是 DBA,但这与我的 TNS 服务名称不在 TNSNAMES.ORA 中有关,TNSNAMES.ORA 将 Oracle 指向正确的服务器、端口等。
但是我找不到 TNSNAMES.ORA
我有一个 ORACLE_HOME 环境变量,但它是空的。
我在哪里可以找到此文件或以其他方式配置我的 TNS 名称?
我有一个基于简单数字列表的折线图.默认情况下,x轴只是绘制的每个值的增量1.我想成为一个百分比,但无法弄清楚如何.因此,不是从0到5的x轴,它将从0%到100%(但保持合理间隔的刻度线.代码如下.谢谢!
from matplotlib import pyplot as plt
from mpl_toolkits.axes_grid.axislines import Subplot
data=[8,12,15,17,18,18.5]
fig=plt.figure(1,(7,4))
ax=Subplot(fig,111)
fig.add_subplot(ax)
plt.plot(data)
Run Code Online (Sandbox Code Playgroud) python ×8
pandas ×3
dataframe ×2
matplotlib ×2
apache-spark ×1
csv ×1
merge ×1
missing-data ×1
odbc ×1
ora-12170 ×1
oracle ×1
pyspark ×1
safari ×1
scikit-learn ×1
selenium ×1
tnsnames ×1
webdriver ×1