我有一个pandas Series,名为
ser1
,形状为(100,)。它与IT技术相关。import pandas as pd
ser1 = pd.Series(...)
print(len(ser1))
## prints (100,)
该系列中每个ndarray的长度为150000,其中每个元素都是一个字符。
len(print(ser1[0]))
## prints 150000
ser1.head()
sample1 xhtrcuviuvjhgfsrexvuvhfgshgckgvghfsgfdsdsg...
sample2 jhkjhgkjvkjgfjyqerwqrbxcvmkoshfkhgjknlkdfk...
sample3 sdfgfdxcvybnjbvtcyuikjhbgfdftgyhujhghjkhjn...
sample4 bbbbbbadfashdwkjhhguhoadfopnpbfjhsaqeqjtyi...
sample5 gfjyqedxcvrexvuvcvmkoshdftgyhujhgcvmkoshfk...
dtype: object
我想将这个pandas Series转换成一个pandas DataFrame,使得该pandas Series "row"的每个元素都是DataFrame的一列。也就是说,该Series数组的每个元素都将是一个单独的列。在这种情况下,ser1
将有150000个列。
print(type(df_ser1)) # DataFrame of ser1
## outputs <class 'pandas.core.frame.DataFrame'>
df_ser1.head()
samples char1 char2 char3 char4 char5 char6
0 sample1 x h t r c u
1 sample2 j h k j h g
2 sample3 s d f g f d
3 sample4 b b b b b b
........
如何将pandas系列转换为数据框?
最明显的想法是执行以下操作:
df_ser = ser1.to_frame
但这并不会将元素分离成单独的数据帧列:
df_ser = ser1.to_frame
df_ser.head()
0
sample1 xhtrcuviuvjhgfsrexvuvhfgshgckgvghfsgfdsdsg...
sample2 jhkjhgkjvkjgfjyqerwqrbxcvmkoshfkhgjknlkdfk...
sample3 sdfgfdxcvybnjbvtcyuikjhbgfdftgyhujhghjkhjn...
......
不知为何,需要遍历“Series row”中的每个元素并创建一列,尽管我不确定这在计算上是否可行。(这不是很符合Python语言的风格。)
如何实现呢?