小编ano*_*428的帖子

将Python dict转换为数据帧

我有一个如下的Python字典:

{u'2012-06-08': 388,
 u'2012-06-09': 388,
 u'2012-06-10': 388,
 u'2012-06-11': 389,
 u'2012-06-12': 389,
 u'2012-06-13': 389,
 u'2012-06-14': 389,
 u'2012-06-15': 389,
 u'2012-06-16': 389,
 u'2012-06-17': 389,
 u'2012-06-18': 390,
 u'2012-06-19': 390,
 u'2012-06-20': 390,
 u'2012-06-21': 390,
 u'2012-06-22': 390,
 u'2012-06-23': 390,
 u'2012-06-24': 390,
 u'2012-06-25': 391,
 u'2012-06-26': 391,
 u'2012-06-27': 391,
 u'2012-06-28': 391,
 u'2012-06-29': 391,
 u'2012-06-30': 391,
 u'2012-07-01': 391,
 u'2012-07-02': 392,
 u'2012-07-03': 392,
 u'2012-07-04': 392,
 u'2012-07-05': 392,
 u'2012-07-06': 392}
Run Code Online (Sandbox Code Playgroud)

键是Unicode日期,值是整数.我想通过将日期及其对应的值作为两个单独的列将其转换为pandas数据帧.示例:col1:日期col2:DateValue(日期仍为Unicode,日期值仍为整数)

     Date         DateValue
0    2012-07-01    391
1    2012-07-02    392
2    2012-07-03    392
.    2012-07-04    392
.    ...           ...
. …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

237
推荐指数
14
解决办法
50万
查看次数

合并两个pandas数据框(在一个公共列上连接)

我有2个数据帧:

restaurant_ids_dataframe

Data columns (total 13 columns):
business_id      4503  non-null values
categories       4503  non-null values
city             4503  non-null values
full_address     4503  non-null values
latitude         4503  non-null values
longitude        4503  non-null values
name             4503  non-null values
neighborhoods    4503  non-null values
open             4503  non-null values
review_count     4503  non-null values
stars            4503  non-null values
state            4503  non-null values
type             4503  non-null values
dtypes: bool(1), float64(3), int64(1), object(8)`
Run Code Online (Sandbox Code Playgroud)

restaurant_review_frame

Int64Index: 158430 entries, 0 to 229905
Data columns (total 8 columns):
business_id    158430  non-null …
Run Code Online (Sandbox Code Playgroud)

python merge left-join dataframe pandas

67
推荐指数
3
解决办法
14万
查看次数

Pandas:从dict在DataFrame中创建命名列

我有一个表格的字典对象:

my_dict = {id1: val1, id2: val2, id3: val3, ...}
Run Code Online (Sandbox Code Playgroud)

我想将其创建为一个DataFrame,我想在其中列出2列'business_id'和'business_code'.

我试过了:

business_df = DataFrame.from_dict(my_dict,orient='index',columns=['business_id','business_code'])
Run Code Online (Sandbox Code Playgroud)

但它表示from_dict没有采用列论证.

TypeError:from_dict()得到一个意外的关键字参数'columns'

python typeerror dataframe pandas

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

Networkx:将多图转换为带加权边的简单图

我有一个多图对象,并希望将其转换为带有加权边的简单图形对象.我查看了networkx文档,似乎无法找到实现此功能的内置函数.我只是想知道是否有人知道networkx中可以实现这一目标的内置函数.我查看了to_directed(),to_undirected()函数,但它们不能满足我的目标.

python graph networkx

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

pandas比较引发TypeError:无法将dtyped [float64]数组与[bool]类型的标量进行比较

我的dataFrame有以下结构:

Index: 1008 entries, Trial1.0 to Trial3.84
Data columns (total 5 columns):
CHUNK_NAME                    1008  non-null values
LAMBDA                        1008  non-null values
BETA                          1008  non-null values
HIT_RATE                      1008  non-null values
AVERAGE_RECIPROCAL_HITRATE    1008  non-null values

chunks=['300_321','322_343','344_365','366_387','388_408','366_408','344_408','322_408','300_408']
lam_beta=[(lambda1,beta1),(lambda1,beta2),(lambda1,beta3),...(lambda1,beta_n),(lambda2,beta1),(lambda2,beta2)...(lambda2,beta_n),........]

my_df.ix[my_df.CHUNK_NAME==chunks[0]&my_df.LAMBDA==lam_beta[0][0]]
Run Code Online (Sandbox Code Playgroud)

我想获取特定块的Dataframe行,可以说chunks [0]和特定的lambda值.因此,在这种情况下,输出应该是数据帧中具有CHUNK_NAME ='300_321'和LAMBDA = lambda1的所有行.对于每个将返回的beta值,将有n行.但相反,我得到了以下错误.任何帮助解决这个问题将不胜感激.

TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]
Run Code Online (Sandbox Code Playgroud)

python typeerror dataframe pandas

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

bash脚本,创建目录中所有文件的数组

我有一个myDir 很多.html文件的目录.我正在尝试创建目录中所有文件的数组,以便我可以索引数组并能够引用目录中的特定html文件.我试过以下一行:

myFileNames=$(ls ~/myDir)

for file in $myFileNames; 
#do something
Run Code Online (Sandbox Code Playgroud)

但我想能够有一个计数器变量,并具有如下逻辑:

 while $counter>=0;
   #do something to myFileNames[counter]
Run Code Online (Sandbox Code Playgroud)

我是shell脚本的新手,我无法弄清楚如何实现这一点,因此会对此事有任何帮助.

arrays bash shell while-loop

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

列中包含python中的字符串列表

我有一个像下面这样的pandas数据帧:

                                          categories  review_count
0                  [Burgers, Fast Food, Restaurants]           137
1                         [Steakhouses, Restaurants]           176
2  [Food, Coffee & Tea, American (New), Restaurants]           390
...                                          ....              ...
...                                          ....              ...
...                                          ....              ...
Run Code Online (Sandbox Code Playgroud)

从这个dataFrame,我想只提取那些行,其中该行的'categories'列中的列表包含'Restaurants'类别.我至今尝试过: df[[df.categories.isin('Restaurants'),review_count]],

因为我在dataFrame中还有其他列,所以我指定了要提取的这两列.但我得到错误:

TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

我不太清楚这个错误意味着什么,因为我对熊猫很新.请告诉我如何实现我的目标,即仅从dataFrame中提取那些行,其中该行的"categories"列具有字符串'Restaurants'作为categories_list的一部分.任何帮助将非常感激.

提前致谢!

python slice dataframe pandas

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

syntaxError:'continue'在循环中不正确

我一直在努力解决这个错误,现在似乎对于翻译抱怨"继续"的原因有不同的看法.所以我想在下面提供错误的代码.

import tweepy
import time
def writeHandlesToFile():
    file = open("dataFile.txt","w")
    try:
        list = tweepy.Cursor(tweepy.api.followers,screen_name='someHandle',).items(100000)
        print "cursor executed"
        for item in list:
            file.write(item.screen_name+"\n")
    except tweepy.error.TweepError as e:
        print "In the except method"
        print e
        time.sleep(3600)
        continue
Run Code Online (Sandbox Code Playgroud)

我特别想在最后包括continue的原因是因为我希望程序在睡眠后从它停止的位置重新开始执行,以便保留程序状态.我需要睡眠才能遵守twitter api速率限制,其中api只允许你每小时发出一定数量的请求.所以任何可能看到我的错误天真或其他的人请指出它或请在没有使用continue语句的情况下为我提供替代实现.

顺便说一下,我没有像另一篇文章中所建议的那样混合标签和空格.提前谢谢你的帮助.

python twitter continue try-except

10
推荐指数
2
解决办法
6万
查看次数

使用特定值改变条形图中每个条形的颜色

我有一个如下的条形图: http://matplotlib.org/examples/api/barchart_demo.html

在这种情况下,让我们假设G1-G5组中的每一组代表每组中男性参加某些考试的平均分数,并且每组中的女性参加相同的考试.

现在让我们说我有一些与每个组相关的其他功能(平均可爱性(在1-5之间浮动)).

Ex: Avg Likability of men in G1 - 1.33
                   Avg Likability of women in G1 - 4.6
                   Avg Likability of men in G2- 5.0
                   .... etc...
Run Code Online (Sandbox Code Playgroud)

让我们假设1 - 不讨人喜欢,5 - 非常讨人喜欢

我想知道如何通过改变颜色示例的阴影将这个可爱性特征结合到每个条形图中:因为上面例子中第1组的人有1.33,所以他们的图形将被涂上比红色阴影更浅的红色阴影. G2,因为G2的男性有5.0可爱,他们的酒吧将是图中最暗的红色,对女性来说也是如此.

我希望我已经说清楚了.如果有人能指出matplotlib中可以实现这一目标的资源,我真的很感激,因为我对这个软件包很新.

提前致谢.

python matplotlib

10
推荐指数
2
解决办法
3995
查看次数

matplotlib plot set x_ticks

如何将索引1,2,3 .... n中的x_axis标签设置为不同的东西.

lam_beta = [(lam1,beta1),(lam1,beta2),(lam1,beta3),....(lam_n,beta_n)]
chunks = [chunk1,chunk2,...chunk_n]
ht_values_per_chunk = {chunk1:[val1,val2,...],chunk2:[val1,val2,val3,.....]...}
color='rgbycmk'
     j=0
     for chunk in chunks:
        plt.plot([hr_values_per_chunk[chunk][i] for i,item in enumerate(lam_beta)],[i for i,item in enumerate(lam_beta)],color=j%len(color))
        j+=1

     plt.set_xticks([i for i,item in enumerate(lam_beta)])
     plt.set_xticklabels([item for item in lam_beta],rotation='vertical')
     plt.show()
Run Code Online (Sandbox Code Playgroud)

错误:

AttributeError:'module'对象没有属性'set_xticks'

在这里,我无法将lambda_beta元组的值设置为x轴上每个刻度的值,因为它表示plt没有这样的方法.如何才能实现这一目标?我使用了xticks,因为这是我在matplotlib中生成直方图时的方法.任何帮助,将不胜感激.提前致谢!

python linegraph matplotlib

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