小编use*_*044的帖子

检查字符串是否在pandas数据帧中

我想看看我的数据帧中的特定列中是否存在特定字符串.

我收到了错误

ValueError:Series的真值是不明确的.使用a.empty,a.bool(),a.item(),a.any()或a.all().

import pandas as pd

BabyDataSet = [('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)]

a = pd.DataFrame(data=BabyDataSet, columns=['Names', 'Births'])

if a['Names'].str.contains('Mel'):
    print "Mel is there"
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

47
推荐指数
4
解决办法
8万
查看次数

在列上使用合并在Pandas中使用索引

我有两个共享项目编号的独立数据框.在type_df,项目编号是索引.在time_df,项目编号是一列.我想计数的行数中type_df有一个Project Type2.我正试图这样做pandas.merge().它在使用两列时效果很好,但不是索引.我不确定如何引用索引,如果merge是正确的方法来做到这一点.

import pandas as pd
type_df = pd.DataFrame(data = [['Type 1'], ['Type 2']], 
                       columns=['Project Type'], 
                       index=['Project2', 'Project1'])
time_df = pd.DataFrame(data = [['Project1', 13], ['Project1', 12], 
                               ['Project2', 41]], 
                       columns=['Project', 'Time'])
merged = pd.merge(time_df,type_df, on=[index,'Project'])
print merged[merged['Project Type'] == 'Type 2']['Project Type'].count()
Run Code Online (Sandbox Code Playgroud)

错误:

名称"索引"未定义.

期望的输出:

2
Run Code Online (Sandbox Code Playgroud)

python merge python-2.7 pandas

27
推荐指数
2
解决办法
3万
查看次数

删除pandas数据帧中的所有数据

我想将所有数据丢弃在pandas数据框中,但我得到了TypeError: drop() takes at least 2 arguments (3 given).我本质上想要一个只有我的列标题的空白数据框.

import pandas as pd

web_stats = {'Day': [1, 2, 3, 4, 2, 6],
             'Visitors': [43, 43, 34, 23, 43, 23],
             'Bounce_Rate': [3, 2, 4, 3, 5, 5]}
df = pd.DataFrame(web_stats)

df.drop(axis=0, inplace=True)
print df
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

26
推荐指数
4
解决办法
5万
查看次数

ValueError:使用序列设置数组元素.对于熊猫

我有一个Pandas dataframe,叫output.基本的问题是我想dataframe使用ix函数在列表中设置一个特定的行,列并且我得到了ValueError: setting an array element with a sequence.我的理解是一个dataframe元素就像一个列表元素,它可以保存任何东西(字符串,列表,元组等) ).我不对吗?

基本设置:

import pandas as pd
output = pd.DataFrame(data = [[800.0]], columns=['Sold Count'], index=['Project1'])
print output.ix['Project1', 'Sold Count']
>>>800
Run Code Online (Sandbox Code Playgroud)

工作良好

output.ix['Project1', 'Sold Count'] = 400.0
print output.ix['Project1', 'Sold Count']
>>>400.0    
Run Code Online (Sandbox Code Playgroud)

不起作用

output.ix['Project1', 'Sold Count'] = [400.0]
print output.ix['Project1', 'Sold Count']
>>>ValueError: setting an array element with a sequence.
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

12
推荐指数
1
解决办法
1万
查看次数

从CSV文件向Pandas Dataframe添加数据导致值错误

我试图intPandas DataFramewith中 添加一个现有值

>>> df.ix['index 5','Total Dollars'] += 10
Run Code Online (Sandbox Code Playgroud)

我收到错误: ValueError: Must have equal len keys and value when setting with an iterable.

我认为错误来自datatype于:

>>> print type(df.ix['index 5','Total Dollars'] 
int64 <class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)

数据框通过CSV文件填充.我尝试从另一个CSV文件加载数据库:

>>> print type(df.ix['index 5','Total Dollars']
int64
Run Code Online (Sandbox Code Playgroud)

什么可能导致这种类型的差异?

python csv numpy pandas

11
推荐指数
1
解决办法
383
查看次数

Dropzone.js阻止Flask呈现模板

我正在使用Dropzone.js允许CSV通过Flask网站拖放文件上传.上传过程非常有效.我将上传的文件保存到我指定的文件夹,然后可以df.to_html()用来转换dataframeHTML代码,然后传递给我的模板.它到达代码中的那一点,但它不呈现模板并且不会抛出任何错误.所以我的问题是为什么Dropzone.js阻止渲染发生?

我也试过HTML从表中返回代码而不是使用render_template,但这也行不通.

init .py

import os
from flask import Flask, render_template, request
import pandas as pd

app = Flask(__name__)

# get the current folder
APP_ROOT = os.path.dirname(os.path.abspath(__file__))

@app.route('/')
def index():
    return render_template('upload1.html')


@app.route('/upload', methods=['POST'])
def upload():

    # set the target save path
    target = os.path.join(APP_ROOT, 'uploads/')

    # loop over files since we allow multiple files
    for file in request.files.getlist("file"):

        # get the …
Run Code Online (Sandbox Code Playgroud)

javascript python flask python-2.7 dropzone.js

11
推荐指数
2
解决办法
2188
查看次数

Excel Countif不等于字符串长度为零

我有一个公式iferror公式,如果发生错误,放入"".这是一个零长度的字符串.如果不等于"",我想做一个计数.

=countif(A:A,<>"") 'is not a valid formulas
=countif(A:A,"<>") 'checks for actual blanks, not zero length strings
Run Code Online (Sandbox Code Playgroud)

excel countif

8
推荐指数
3
解决办法
1万
查看次数

获取列表中多次出现的项目的唯一列表

我有一个项目列表:

mylist = ['A','A','B','C','D','E','D']
Run Code Online (Sandbox Code Playgroud)

我想返回一个在mylist中出现多次的唯一项目列表,以便我所需的输出为:

 [A,D]
Run Code Online (Sandbox Code Playgroud)

不知道如何成为这个,但我的过程是首先附加每个项目的计数,然后删除任何等于1的东西.然后重复数据删除,但这似乎是一个非常迂回,低效的方式来做,所以我在寻找咨询.

python python-2.7

8
推荐指数
2
解决办法
1万
查看次数

将Pandas单元格中的列表拆分为多个列

我有一个非常简单的Pandas dataframe地方,每个单元格包含一个列表.我想将列表中的每个元素拆分为它自己的列.我可以通过导出值然后创建新值来实现dataframe.这似乎不是一个好方法,特别是如果我dataframe在列表列之外有一个列.

import pandas as pd

df = pd.DataFrame(data=[[[8,10,12]],
                        [[7,9,11]]])

df = pd.DataFrame(data=[x[0] for x in df.values])
Run Code Online (Sandbox Code Playgroud)

期望的输出:

   0   1   2
0  8  10  12
1  7   9  11
Run Code Online (Sandbox Code Playgroud)

基于@Psidom回复的后续行动:

如果我确实有第二列:

df = pd.DataFrame(data=[[[8,10,12], 'A'],
                        [[7,9,11], 'B']])
Run Code Online (Sandbox Code Playgroud)

我怎么不松开其他栏?

期望的输出:

   0   1   2  3 
0  8  10  12  A
1  7   9  11  B
Run Code Online (Sandbox Code Playgroud)

python list dataframe python-2.7 pandas

8
推荐指数
2
解决办法
9628
查看次数

Selenium python互联网探险家

我编写了一个脚本,使用python和Selenium打开Web浏览器.使用以下代码,它适用于Firefox:

from selenium import webdriver
driver = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)

当我用IE替换Firefox(我开始输入时的建议值),我收到消息 IEDriver executable needs to be available in the path.

from selenium import webdriver
driver = webdriver.IE()
Run Code Online (Sandbox Code Playgroud)

python selenium internet-explorer selenium-webdriver

7
推荐指数
2
解决办法
4万
查看次数