Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有不等长列的熊猫数据框将用NA s填充_Python_Pandas_Dataframe - Fatal编程技术网

Python 带有不等长列的熊猫数据框将用NA s填充

Python 带有不等长列的熊猫数据框将用NA s填充,python,pandas,dataframe,Python,Pandas,Dataframe,我想创建一个包含两列的数据框:Python中的deneme和deneme2 deneme = [1, 2, 3, 4] deneme2 = ['a', 'b', 'c'] 它们应该是这样的: 这意味着这两个列表应该在相同的长度上,如果它们不是,并且如果在末尾有一个元素,这意味着第三行必须是NA 我怎么能做这样的事 将它们直接放入数据帧中,例如: pd.DataFrame(deneme, deneme2) 不起作用。 谢谢大家! 您可以这样做: In [928]: deneme = [

我想创建一个包含两列的数据框:Python中的deneme和deneme2

deneme = [1, 2, 3, 4]
deneme2 = ['a', 'b', 'c']

它们应该是这样的:

这意味着这两个列表应该在相同的长度上,如果它们不是,并且如果在末尾有一个元素,这意味着第三行必须是NA

我怎么能做这样的事

将它们直接放入数据帧中,例如:

pd.DataFrame(deneme, deneme2) 

不起作用。 谢谢大家!

您可以这样做:

In [928]: deneme = [1, 2, 3, 4]
     ...: deneme2 = ['a', 'b', 'c']

In [929]: if len(deneme) != len(deneme2):
     ...:     deneme2.insert(2, '')
     ...: 

In [930]: df = pd.DataFrame({'deneme': deneme, 'deneme2': deneme2})

In [931]: df
Out[931]: 
   deneme deneme2
0       1       a
1       2       b
2       3        
3       4       c

如果需要将空值插入到特定记录中,则需要在相应位置指定
None

import pandas as pd

deneme = [1, 2, 3, 4]
deneme2 = ['a', 'b', None, 'c']

df = pd.DataFrame({'deneme': deneme, 'deneme2': deneme2})
输出将是

   deneme deneme2
0       1       a
1       2       b
2       3    None
3       4       c
   deneme deneme2
0       1       a
1       2       b
2       3       c
3       4    None

如果要在末尾添加空值,可以使用
itertools.zip\u longest

import pandas as pd
import itertools

deneme = [1, 2, 3, 4]
deneme2 = ['a', 'b','c']

df = pd.DataFrame((e for e in itertools.zip_longest(deneme, deneme2)), columns=['deneme', 'deneme2'])
输出将是

   deneme deneme2
0       1       a
1       2       b
2       3    None
3       4       c
   deneme deneme2
0       1       a
1       2       b
2       3       c
3       4    None
只需3步

out = pd.DataFrame({'deneme':deneme})
out.loc[:len(deneme2)-2,'deneme2'] = deneme2[:-1]
out.loc[len(deneme2),'deneme2'] = deneme2[-1]
out
Out[456]: 
   deneme deneme2
0       1       a
1       2       b
2       3     NaN
3       4       c

谢谢大家@SimChana31如果答案有所帮助,请考虑投票。