小编JJ *_*ica的帖子

如何按位置切片Pandas数据框?

我有一个拥有1000行和10列的Pandas Data Frame对象.我只想切片数据框并取前10行.我怎样才能做到这一点?我一直试图用这个:

>>> df.shape
(1000,10)
>>> my_slice = df.ix[10,:]
>>> my_slice.shape
(10,)
Run Code Online (Sandbox Code Playgroud)

my_slice不应该是前十行,即.10 x 10数据帧?如何获得前十行,例如my_slice10x10数据帧对象?谢谢.

python pandas

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

在几个DataFrame列上运行get_dummies?

如何get_dummies在多个DataFrame列上以惯用方式运行一个函数,它需要单个列并返回多个列?

python dataframe pandas one-hot-encoding

33
推荐指数
3
解决办法
5万
查看次数

熊猫:独特的数据帧

我有一个具有重复行的DataFrame.我想获得一个具有唯一索引且没有重复项的DataFrame.丢弃重复的值是可以的.这可能吗?它会完成groupby吗?

python pandas

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

如何交换两个DataFrame列?

在MATLAB中,要交换表的第一列和第二列A,可以执行此操作1

A = A(:, [2 1 3:end]);
Run Code Online (Sandbox Code Playgroud)

如果A是大熊猫,有没有一种同样方便的方法DataFrame呢?

1 MATLAB使用基于1的索引.

python pandas

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

Matplotlib中按列值的颜色

ggplot2在R 中使用库我最喜欢的一个方面是能够轻松指定美学.我可以快速制作一个散点图并应用与特定列关联的颜色,我希望能够使用python/pandas/matplotlib执行此操作.我想知道是否有任何便利功能,人们用它来使用pandas数据帧和Matplotlib将颜色映射到值?

##ggplot scatterplot example with R dataframe, `df`, colored by col3
ggplot(data = df, aes(x=col1, y=col2, color=col3)) + geom_point()

##ideal situation with pandas dataframe, 'df', where colors are chosen by col3
df.plot(x=col1,y=col2,color=col3)
Run Code Online (Sandbox Code Playgroud)

编辑:感谢您的回复,但我想包含一个示例数据框,以澄清我的要求.两列包含数字数据,第三列是分类变量.我想的脚本将根据此值指定颜色.

import pandas as pd
df = pd.DataFrame({'Height':np.random.normal(10),
                   'Weight':np.random.normal(10),
                   'Gender': ["Male","Male","Male","Male","Male",
                              "Female","Female","Female","Female","Female"]})
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas

31
推荐指数
5
解决办法
6万
查看次数

按熊猫中唯一的一对列计算

我试图找出如何根据每对唯一列(ip,useragent)的行数来计算,例如

d = pd.DataFrame({'ip': ['192.168.0.1', '192.168.0.1', '192.168.0.1', '192.168.0.2'], 'useragent': ['a', 'a', 'b', 'b']})

     ip              useragent
0    192.168.0.1     a
1    192.168.0.1     a
2    192.168.0.1     b
3    192.168.0.2     b
Run Code Online (Sandbox Code Playgroud)

生产:

ip           useragent  
192.168.0.1  a           2
192.168.0.1  b           1
192.168.0.2  b           1
Run Code Online (Sandbox Code Playgroud)

想法?

python pandas

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

Pandas使用unix时间戳(以毫秒为单位)将行转换为datetime

我需要处理大量的CSV文件,其中时间戳始终是表示unix时间戳的字符串,以毫秒为单位.我找不到一种方法来有效地修改这些列.

这就是我提出的,但是这当然只复制了列,我必须以某种方式将它放回原始数据集.我确定在创建时可以完成DataFrame吗?

import sys
if sys.version_info[0] < 3:
    from StringIO import StringIO
else:
    from io import StringIO
import pandas as pd

data = 'RUN,UNIXTIME,VALUE\n1,1447160702320,10\n2,1447160702364,20\n3,1447160722364,42'

df = pd.read_csv(StringIO(data))

convert = lambda x: datetime.datetime.fromtimestamp(x / 1e3)
converted_df = df['UNIXTIME'].apply(convert)
Run Code Online (Sandbox Code Playgroud)

这将选择"UNIXTIME"列并从中进行更改

0    1447160702320
1    1447160702364
2    1447160722364
Name: UNIXTIME, dtype: int64
Run Code Online (Sandbox Code Playgroud)

进入这个

0   2015-11-10 14:05:02.320
1   2015-11-10 14:05:02.364
2   2015-11-10 14:05:22.364
Name: UNIXTIME, dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)

但是,我想使用类似的方法pd.apply()来获取使用转换列返回的整个数据集,或者正如我已经写过的那样,只需在从CSV生成DataFrame时创建日期时间.

python datetime pandas

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

如何从DataFrame图中排除几列?

我有一个包含大约25列的DataFrame,其中有几列包含不适合绘图的数据.DataFrame.hist()会抛出错误.如何指定应从绘图中排除这些列?

python pandas

29
推荐指数
4
解决办法
3万
查看次数

更改value_counts中的排序

如果我做

mt = mobile.PattLen.value_counts()   # sort True by default
Run Code Online (Sandbox Code Playgroud)

我明白了

4    2831
3    2555 
5    1561
[...]
Run Code Online (Sandbox Code Playgroud)

如果我做

mt = mobile.PattLen.value_counts(sort=False) 
Run Code Online (Sandbox Code Playgroud)

我明白了

8    225
9    120
2   1234 
[...]
Run Code Online (Sandbox Code Playgroud)

我想要做的是以2,3,4的升序(左数字列)获得输出.我可以以某种方式更改value_counts还是需要使用其他函数.

python dataframe pandas

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

Pandas数据帧值相等测试

另一个熊猫问题!

我正在编写一些单元测试来测试两个数据帧的相等性,但是,测试似乎没有看到数据帧的值,只有结构:

dates = pd.date_range('20130101', periods=6)

df1 = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
df2 = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))

print df1
print df2
self.assertItemsEqual(df1, df2)
Run Code Online (Sandbox Code Playgroud)

- >真

在声明相等之前,我是否需要将数据帧转换为另一个数据结构?

python pandas

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

标签 统计

pandas ×10

python ×10

dataframe ×2

datetime ×1

matplotlib ×1

one-hot-encoding ×1