这可能是一个简单的问题,但我无法弄清楚如何做到这一点.可以说我有两个变量如下.
a = 2
b = 3
Run Code Online (Sandbox Code Playgroud)
我想从这构造一个DataFrame:
df2 = pd.DataFrame({'A':a,'B':b})
Run Code Online (Sandbox Code Playgroud)
这会产生错误:
ValueError:如果使用所有标量值,则必须传递索引
我也尝试了这个:
df2 = (pd.DataFrame({'a':a,'b':b})).reset_index()
Run Code Online (Sandbox Code Playgroud)
这给出了相同的错误消息.
如何检查大熊猫是否DataFrame为空?在我的情况下,我想在终端打印一些消息,如果它DataFrame是空的.
我需要删除pandas中数据帧的前三行.
我知道df.ix[:-1]会删除最后一行,但我无法弄清楚如何删除前n行.
我有以下格式的pandas数据帧:
df = pd.DataFrame([[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], list('AAABBBBABCBDDD'), [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],['1','3','3','2','4','2','5','3','6','3','5','1','1','1']]).T
df.columns = ['col1','col2','col3','col4','col5']
Run Code Online (Sandbox Code Playgroud)
DF:
col1 col2 col3 col4 col5
0 1.1 A 1.1 x/y/z 1
1 1.1 A 1.7 x/y 3
2 1.1 A 2.5 x/y/z/n 3
3 2.6 B 2.6 x/u 2
4 2.5 B 3.3 x 4
5 3.4 B 3.8 x/u/v 2
6 2.6 B 4 x/y/z 5
7 2.6 A 4.2 x 3
8 3.4 B 4.3 x/u/v/b 6 …Run Code Online (Sandbox Code Playgroud) 我有一只DataFrame像熊猫一样的熊猫.
df = pd.DataFrame({'id' : [1,1,1,2,2,3,3,3,3,4,4,5,6,6,6,7,7],
'value' : ["first","second","second","first",
"second","first","third","fourth",
"fifth","second","fifth","first",
"first","second","third","fourth","fifth"]})
Run Code Online (Sandbox Code Playgroud)
我想通过["id","value"]对此进行分组,并得到每个组的第一行.
id value
0 1 first
1 1 second
2 1 second
3 2 first
4 2 second
5 3 first
6 3 third
7 3 fourth
8 3 fifth
9 4 second
10 4 fifth
11 5 first
12 6 first
13 6 second
14 6 third
15 7 fourth
16 7 fifth
Run Code Online (Sandbox Code Playgroud)
预期结果
id value
1 first
2 first
3 first
4 second
5 …Run Code Online (Sandbox Code Playgroud) 我有一个423244行的大型数据帧.我想将其拆分为4.我尝试了下面的代码,它给出了一个错误?ValueError: array split does not result in an equal division
for item in np.split(df, 4):
print item
Run Code Online (Sandbox Code Playgroud)
如何将此数据帧拆分为4组?
我想根据条件选择得到数据帧行的计数.我尝试了以下代码.
print df[(df.IP == head.idxmax()) & (df.Method == 'HEAD') & (df.Referrer == '"-"')].count()
Run Code Online (Sandbox Code Playgroud)
输出:
IP 57
Time 57
Method 57
Resource 57
Status 57
Bytes 57
Referrer 57
Agent 57
dtype: int64
Run Code Online (Sandbox Code Playgroud)
输出显示数据框中每列的每个列的计数.相反,我需要获得满足上述所有条件的单一计数?这该怎么做?如果您需要有关我的数据帧的更多说明,请告诉我.
我有一个pandas数据框,我想按降序排序列('字节')并打印最高10个值及其相关的"客户端IP"列值.假设以下是我的数据帧的一部分.我有很多不同的方法而且失败了?
0 Bytes Client Ip
0 1000 192.168.10.2
1 2000 192.168.10.12
2 500 192.168.10.4
3 159 192.168.10.56
Run Code Online (Sandbox Code Playgroud)
以下仅打印具有最高值的原始值.
print df['Bytes'].argmax()
Run Code Online (Sandbox Code Playgroud) 我有一个像下面这样的Pandas DataFrame:
A B C
0 192.168.2.85 192.168.2.85 124.43.113.22
1 192.248.8.183 192.248.8.183 192.168.2.85
2 192.168.2.161 NaN 192.248.8.183
3 66.249.74.52 NaN 192.168.2.161
4 NaN NaN 66.249.74.52
Run Code Online (Sandbox Code Playgroud)
我想获得跨列的特定值的计数.所以我的预期输出是这样的:
IP Count
192.168.2.85 3 #Since this value is there in all coulmns
192.248.8.183 3
192.168.2.161 2
66.249.74.52 2
124.43.113.22 1
Run Code Online (Sandbox Code Playgroud)
我知道如何跨行,但对列进行此操作有点奇怪吗?帮帮我解决这个问题?谢谢.