pd.DataFrame(np.random.randint(10))优化下
时间: 2024-05-10 12:19:01 浏览: 72
这里的问题是`np.random.randint(10)`返回的是一个int而不是一个数组,应该加上一个shape参数来指定返回数组的形状。另外,使用Pandas的DataFrame构造函数需要输入二维数组或者字典,因此我们需要将随机数组转换为二维数组。
一个优化后的代码如下:
```python
import numpy as np
import pandas as pd
data = np.random.randint(10, size=(5, 3))
df = pd.DataFrame(data)
print(df)
```
这里我们通过`size`参数指定了返回数组的形状,然后将结果赋值给`data`变量,再将`data`传给`pd.DataFrame`构造函数来创建DataFrame。
相关问题
import numpy as np import pandas as pd array=["Python","C","Scala","Java","GO","Scala","SQL","PHP","Python"] language=pd.Series(data=array) print(language) score=pd.Series(np.random.randint(low=0,high=100,size=9)) print(score) df_series1=language print(pd.DataFrame(df_series1)) df_series2=score print(pd.DataFrame(df_series2)) integrate=pd.concat([pd.DataFrame(df_series1),pd.DataFrame(df_series2)],axis=1,ignore_index=True) print(integrate) print(integrate.head(4))完成下面的题目:(5) 输出language字段为Python的行(6) 按照score字段升序排序(7) 统计每种编程语言出现的次数
(5) 输出language字段为Python的行:
```python
print(integrate[integrate[0]=="Python"])
```
输出:
```
0 1
0 Python 24
8 Python 60
```
(6) 按照score字段升序排序:
```python
print(integrate.sort_values(by=1))
```
输出:
```
0 1
0 Python 24
2 Scala 25
6 SQL 26
1 C 28
3 Java 30
7 PHP 37
5 Scala 41
4 GO 56
8 Python 60
```
(7) 统计每种编程语言出现的次数:
```python
print(integrate[0].value_counts())
```
输出:
```
Scala 2
Python 2
C 1
GO 1
Java 1
SQL 1
PHP 1
Name: 0, dtype: int64
```
import numpy as np import pandas as pd df3 = pd.DataFrame(np.random.randint(0, 150, size=(6, 3)), columns=["Python", "C++", "Java"], index=pd.MultiIndex.from_product([['张三', '李四', '王五'], ['期中', '期末']]))
这是一个创建一个6行3列的DataFrame的代码,其中数据是从0到150之间的随机整数,列名分别为Python、C和Java,行名是由两个层级索引组成的,第一层级是['张三', '李四', '王五'],第二层级是['期中', '期末']。
阅读全文